2

ページのビューモデルのプロパティの変更によってトリガーされるSilverlightの動作が必要です。しかし、これを行う方法がわかりません。

だから、私は非常に単純なビューモデルを持っています:

public class MyViewModel : INotifyPropertyChanged
{
    private bool changingProperty;
    public bool ChangingProperty
    {
        get { return changingProperty; }
        set
        {
            if (changingProperty != value)
            {
                changingProperty = value;
                NotifyPropertyChanged("ChangingProperty");
            }
        }
    }
    public string SomeProperty { get { return "SomePropertyValue"; } }

    // INotifyPropertyChanged implementation here.......
}

このビューモデルは、テキストブロックが次の場所にバインドされているユーザーコントロールのデータコンテキストですSomeProperty

<TextBlock x:Key="myTextBlock" Text="{Binding SomeProperty}" />

これはすべて正常に機能します。ここで、ビューモデルのmyTextBlock変更によってトリガーされるビヘイビアーをアタッチしたいと思います。動作は、たとえば(またはより洗練されたもの)ChangingPropertyを強調する必要があります。TextBlock

このトリガーを指定するにはどうすればよいですか?これは可能ですか?

敬具、

ロナルド

4

1 に答える 1

1

ここでの同様の問題に対する私の答えに沿った何かが役立つかもしれません。

これは、その手法を要件に適用する方法の例です。

<Grid.Resources>
   <local:BoolToBrushConverter x:Key="Highlighter"
    FalseBrush="Transparent" TrueBrush="Yellow" />
</Grid.Resources>

<Border Background="{Binding ChangingProperty, Converter={StaticResource Highlighter}}">
    <TextBlock x:Name="txtTarget" Text="{Binding SomeProperty}" />
</Border>
于 2009-11-26T17:47:53.490 に答える