WPF Изменить свойство объекта (это свойство зависимости) в usercontrol - PullRequest
0 голосов
/ 28 июня 2018

У меня есть класс

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

Теперь этот класс является свойством зависимости моего usercontrol. И SlowDownPosition привязан к TextBlock. У меня есть кнопка, которая сбросит значение до zero. Но это не обновляет пользовательский интерфейс, поскольку 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 свойство зависимости?

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете принудительно обновить привязку.

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();
}
...