【发布时间】:2011-01-05 13:42:18
【问题描述】:
我无法在TextBlock 中设置Text 的FontSize,因为TextBox 在Viewbox 中。为什么?
<Grid Margin="35,30,35,0" ShowGridLines="False" >
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="270 px" Width="2*"/>
<ColumnDefinition Width="5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.Column="0" BorderBrush="Black" BorderThickness="1,1,1,0" />
<Viewbox>
<TextBlock Margin="10,5,0,5" Grid.Row="0" Grid.Column="0">Team:</TextBlock>
</Viewbox>
<Border Grid.Row="1" Grid.Column="0" BorderBrush="Black" BorderThickness="1,1,1,0" />
<TextBlock Margin="10,5,0,5" Grid.Row="1" Grid.Column="0">Beschreibung:</TextBlock>
<Border Grid.Row="2" Grid.Column="0" BorderBrush="Black" BorderThickness="1,1,1,0" />
<TextBlock Margin="10,5,0,5" Grid.Row="2" Grid.Column="0">Milestone:</TextBlock>
<Border Grid.Row="3" Grid.Column="0" BorderBrush="Black" BorderThickness="1,1,1,1" />
<TextBlock Margin="10,5,0,5" Grid.Row="3" Grid.Column="0">Status:</TextBlock>
<Border Grid.Row="0" Grid.Column="1" BorderBrush="Black" BorderThickness="0,1,1,0" />
<TextBlock x:Name="tb_Team_dyn" Margin="10,5,0,5" Grid.Row="0" Grid.Column="1"
FontWeight="Bold" Text="{Binding Data.Team}" TextWrapping="Wrap"></TextBlock>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="Black" BorderThickness="0,1,1,0" />
<TextBlock x:Name="tb_Descr_dyn" Margin="10,5,0,5" Grid.Row="1" Grid.Column="1"
FontWeight="Bold" Text="{Binding Data.Description}" TextWrapping="Wrap"/>
<Border Grid.Row="2" Grid.Column="1" BorderBrush="Black" BorderThickness="0,1,1,0" />
<TextBlock x:Name="tb_Milestone_dyn" Margin="10,5,0,5" Grid.Row="2" Grid.Column="1"
FontWeight="Bold" Text="{Binding Data.Milestone}" TextWrapping="Wrap"/>
<Border Grid.Row="3" Grid.Column="1" BorderBrush="Black" BorderThickness="0,1,1,1" />
<StackPanel Margin="10,5,0,5" Grid.Row="3" Grid.Column="1" Orientation="Horizontal">
<Image x:Name="imgSmile" MaxWidth="38" Source="{Binding Data.Smiley}" />
<TextBlock x:Name="tb_Status_dyn" Margin="{Binding Data.SmileyMargin}"
Foreground="{Binding Data.Col}" FontWeight="Bold"
Text="{Binding Data.Status}" TextWrapping="Wrap"></TextBlock>
</StackPanel>
</Grid>
我可以设置所有TextBlocks 的FontSizes,但不能设置Viewbox 中的TextBlock。
【问题讨论】:
-
viewbox 的目的是拉伸它的内容......所以如果你不希望文本块中的文本大小被拉伸,为什么要使用 viewbox?
-
我想拉伸文本块的大小.. 但我不能设置“开始”字体大小。我的窗口开始最大化,所以字体很大..但字体大小应该更小..但我不能设置它..
-
我仍然不清楚您要完成什么 - 您希望文本块在不拉伸文本的情况下拉伸?这不可能。如果您想要一个静态大小的字符串(具有静态字体)放置在一个可拉伸的区域中,请尝试一个包含统一网格的视图框,具有 1x1 单元格,其中包含文本块。可能还有许多其他的布局可能性会起作用。通常,我将 DockPanels 与 LastChildFill=True 组合用于类似的事情。
-
我认为 Viewbox 对我很有帮助。我想要拉伸文本。拉伸有效。但现在我的问题是:使用 FontSize="16" 设置 TextBlock 的字体大小无效。我的窗口开始最大化。所以字体大约是48px。但是字体应该是,当窗口最大化 16px 而不是 48px 时。而且我不知道如何设置,因为就像已经说过的,FontSize="16" 是无效的。
标签: wpf vb.net wpf-controls textblock font-size