我在side dockpanel中有两个文本块我需要根据块的大小设置字体大小。
<Border Grid.Row="0"
CornerRadius="2"
BorderBrush="White"
BorderThickness="2"
Background="Black"
Margin="2,0,0,1">
<DockPanel LastChildFill="True">
<TextBlock DockPanel.Dock="Bottom"
Text="{Binding TextWork}"
Style="{DynamicResource Label}"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
TextWrapping="Wrap"
FontSize=?
Foreground="White"
TextAlignment="Center"
Margin="0,0,0,2" />
<TextBlock DockPanel.Dock="Top"
Text="{Binding AwaitingWorkUI}"
Style="{DynamicResource Header}"
Margin="0,2,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="?"
Foreground="White"
TextAlignment="Center" />
</DockPanel>
</Border>
这是在一个控件中,控件缩小以适应网格,网格根据多少个单元格缩小
答案 0 :(得分:0)
这样的方向怎么样? textBlock中只有1行?
textBlockFirst.FontSize= textBlockFirst.Height( and additionally plus minus some number here);
将它放在textBlock_LostFocus或TextChanged等事件中。
这应该不难......
答案 1 :(得分:0)
谢谢大家的建议,最后我选择了两个转换器作为底部项目,一个转换为顶级项目。然后我将一个显示计数属性添加到传入的视图模型中,并将此绑定和转换器绑定到字体大小。它们的显示计数将传递到转换器并返回该显示计数的字体大小