依存関係プロパティの変更通知を取得する – RegisterPropertyChangedCallback

RegisterPropertyChangedCallback

Windows10 UWPから依存関係プロパティの変更通知をコールバック関数で取得することができるようになりました。

 

たとえばこのようなTextBoxとTextBlockがあったとき

<TextBox x:Name="textBox" HorizontalAlignment="Left" Margin="107,148,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Height="26" Width="219"/>

<TextBlock x:Name="textBlock" HorizontalAlignment="Left" Margin="107,232,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>

TextBoxはDependencyObjectであり、そのTextプロパティはDependencyProperty(依存関係プロパティ)です。

なので、このようなコードで変更通知を取得できます。

textBox.RegisterPropertyChangedCallback(TextBox.TextProperty,(obj,property)=>
{
    var textBox = (TextBox)obj;
    this.textBlock.Text = textBox.Text;
});

 

変更通知を取得することにより、簡単にデータを同期することができました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください