DataContextを使う際のthisとx:Name指定の違いについて
this.DataContextで値を反映する場合と
btnA.DataContextで値を反映する場合の違いは何でしょうか。
スレッドでbtnA,btnBを同時に実行した場合thisを使った場合は画面がちらつきました。
詳しい方がいましたら教えて頂けると助かります。
XAML
<Grid>
<Button x:Name="btnA" Content="{Binding ButtonContentA}" Click="Button_ClickA"/>
<Button x:Name="btnB" Content="{Binding ButtonContentB}" Click="Button_ClickB"/>
</Grid>
C#
void Worker_ProgressChangedA(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
//スレッドの画面再描画でthisを使うと画面がちらつく
//this.DataContext = new { ButtonContentA = e.ProgressPercentage };
btnA.DataContext = new { ButtonContentA = e.ProgressPercentage };
}
void Worker_ProgressChangedB(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
//this.DataContext = new { ButtonContentB = e.ProgressPercentage };
btnA.DataContext = new { ButtonContentB = e.ProgressPercentage };
}