用户控件中对象的WPF更改属性(即依赖项属性)

时间:2018-06-28 13:02:50

标签: c# wpf dependency-properties inotifypropertychanged

我上课

   class Export{
      TimeSpan SlowDownPosition{get; set;}
    }

现在,此类是我的usercontrol的依赖项属性。并且SlowDownPosition绑定到TextBlock。我有一个按钮,它将值重置为zero。但是这样做不会更新UI,因为SlowDownPosition是依赖项属性的一个属性。

<TextBlock Text="{Binding ElementName=TagMetaDataControl,Path=Export.SlowDownPosition}" />
<Button Content="X" Click="ResetAutoSlowPosition" />

关于后面的代码

private void ResetAutoSlowPosition(object sender, RoutedEventArgs e)
    {
        Export.SlowDownPosition = TimeSpan.Zero;
    }

有没有一种方法可以在不使SlowDownPosition本身成为依赖项属性的情况下更新UI?

1 个答案:

答案 0 :(得分:1)

您可以强制绑定刷新。

XAML:

<TextBlock x:Name="MyTextBlock" Text="{Binding ElementName=TagMetaDataControl,Path=Export.SlowDownPosition}" />

后面的代码:

private void ResetAutoSlowPosition(object sender, RoutedEventArgs e)
{
    Export.SlowDownPosition = TimeSpan.Zero;
    MyTextBlock.GetBindingExpression(TextBlock.TextProperty).UpdateTarget();
}