我是WPF
的新手。最近我遇到了一个问题,我必须动态更改标签的字体大小。
为实现这一目标,我创建了一个测试应用程序,并在我的App.xaml
中创建了一个带有键的样式。
然后将这种风格赋予标签。
样式如下:
<Style x:Key="myLbl" TargetType="Label">
<Setter Property="FontSize" Value="20"/>
</Style>
然后我将此Style
发送到Label
Window
中的XAML
,如:
<Label Name="lblDemo" Content="Test" Foreground="Black" Style="{DynamicResource myLbl}"/>
我想点击按钮更改Property
中Style
的值。我搜索了一下但没有找到任何有用的东西。任何人都可以建议我一个正确的方向。任何帮助将不胜感激。
感谢。
答案 0 :(得分:2)
如果你只想使用XAML这样做,你可以这样做:
<StackPanel>
<Label Name="lblDemo" Content="Test" Foreground="Black" FontSize="20"/>
<Button x:Name="ClickMe" Content="Enlarge" />
<StackPanel.Triggers>
<EventTrigger RoutedEvent="Button.Click" SourceName="ClickMe">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="lblDemo" Storyboard.TargetProperty="FontSize">
<DiscreteDoubleKeyFrame KeyTime="00:00:00.01" Value="48" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</StackPanel.Triggers>
</StackPanel>
或者您可以使用此代码在代码中使用旧的Click
事件处理程序(使用上面的Button
而不使用StackPanel.Triggers
部分):
private void ClickMe_OnClick(object sender, RoutedEventArgs e) { lblDemo.FontSize = 48; }