1

私は初めてWPFです。最近、ラベルのフォント サイズを動的に変更しなければならないという問題が発生しました。

これを実現するために、テスト アプリケーションを作成し、my にキーを持つスタイルを作成しましたApp.xaml

その後、このスタイルをレーベルに与えました。

スタイルは次のとおりです。

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

それから私はこれStyleLabel私のWindow XAML好きなものに与えました:

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

ボタンをクリックしてPropertyの値を変更したい。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 に答える