1

我是新手WPF。最近我遇到了一个问题,我必须动态更改标签的字体大小。

为了实现这一点,我创建了一个测试应用程序并在我的App.xaml.

然后将这种样式赋予标签。

样式如下:

<Style x:Key="myLbl" TargetType="Label">
    <Setter Property="FontSize" Value="20"/>
</Style>

然后我把这个Style给了LabelWindow XAML喜欢的人:

<Label Name="lblDemo" Content="Test" Foreground="Black" Style="{DynamicResource myLbl}"/>

我想通过单击按钮来更改Propertyin 的值。Style我搜索了一下,但没有发现任何有用的东西。谁能建议我一个正确的方向。任何帮助将不胜感激。

谢谢。

4

1 回答 1

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; }
于 2013-04-08T10:28:31.037 回答