Why does the text in my TextBlock extend out to the right beyond my canvas even though I specified word wrap?
<Window x:Class='WpfApplication6.Window1' xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' Title='Window1' SizeToContent='WidthAndHeight'> <DockPanel> <StackPanel DockPanel.Dock='Top' Orientation='Horizontal'> <Button Content='111'/> <Button Content='222'/> <Button Content='333'/> <Button Content='444'/> <Button Content='555'/> </StackPanel> <StackPanel DockPanel.Dock='Left'> <Button Content='One'/> <Button Content='Two'/> <Button Content='Three'/> <Button Content='Four'/> <Button Content='Five'/> </StackPanel> <Canvas Background='tan'> <TextBlock TextWrapping='Wrap'>This is the content in this area here</TextBlock> </Canvas> </DockPanel> </Window>
SOLUTION: Thanks, Steve, that did it, I added a ScrollViewer as well, nice:
<DockPanel> <StackPanel DockPanel.Dock='Top' Orientation='Horizontal'> <Button Content='111'/> <Button Content='222'/> <Button Content='333'/> <Button Content='444'/> <Button Content='555'/> </StackPanel> <StackPanel DockPanel.Dock='Left'> <Button Content='One' Click='Button_Click' /> <Button Content='Two'/> <Button Content='Three'/> <Button Content='Four'/> <Button Content='Five'/> </StackPanel> <Grid Background='tan'> <ScrollViewer> <TextBlock Name='mainArea' Padding='10' TextWrapping='Wrap'>This is the content in this area here</TextBlock> </ScrollViewer> </Grid> </DockPanel>
It’s inside a Canvas, so it’s not getting any width set. If you don’t need the canvas, change it to a Grid (which automatically sizes itself) and the TextBlock will wrap properly.