ビジュアル ツリーに通知を送信する方法は?
簡単なコード例を次に示します。
class MyButton1 : Button
{
....
}
Generic.XAML は次のようになります。
<Style TargetType="{x:Type local:MyButton1}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyButton1}">
<Button>
<StackPanel>
<Label>
<local:MyTextBlock1 Text="Not working yet."/>
</Label>
</StackPanel>
</Button>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ビューモデルはありません。これはカスタム コントロールであり、MyButton1 がクリックされると、MyTextBlock1 にテキストを "It is working" に変更するよう通知する必要があります。MyButton1 はビジュアル ツリーの最上位にあり、MyTextblock1 はどこか深いところにあります。
では、ビジュアル ツリーに通知を送信し、特定の要素でそれらを処理するにはどうすればよいでしょうか。私の場合、その MyButton1 をクリックすると、通知はビジュアル ツリーを MyTextBlock1 まで移動するはずです。その後、通知が処理され、テキストが「動作しています」に変更されます。