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 };
    }