0

DataTrigger を使用して、XAML のボタンの内容を変更したいと考えています。条件付きで、ボタンのテキストを変更する必要があります。ただし、Button に最初にテキストがある場合、テキストは変更されません。それを機能させる唯一の方法は、設定しないかContent、トリガーで設定することです。

だから私が持っているなら

<Button Content="Some text" />

トリガーはボタンのテキストを変更しません。

私が持っている場合

<Button />

また

<Button>
    <Button.Style>
        <Style TargetType="Button">
            <Setter Property="Content" Value="Some text" />
        </Style>
    </Button.Style>
</Button>

トリガーが機能します。

なんで?

4

1 に答える 1

1

これは DepedencyProperty の優先順位によるものです。ここを参照してください: http://msdn.microsoft.com/en-us/library/ms743230.aspx

ローカル値は、トリガーよりも優先順位が高くなります。これは、ローカル値がトリガー値よりも「優先される」ことを意味します

スタイルに設定すると、優先順位が変わります。Trigger は Style Setter よりも優先されるため、期待どおりに動作します。

于 2012-06-12T17:36:34.767 に答える