WPF DataTrigger при изменении свойства ViewModel

#wpf #viewmodel #datatrigger

#wpf #viewmodel #datatrigger

Вопрос:

Я пытаюсь запустить триггер при изменении свойства в моей ViewModel. Кажется, я не могу заставить триггер сработать, что бы я ни пытался. Мой XAML выглядит следующим образом:

 <TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
    <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
    <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
    <Setter Property="Padding" Value="0 1" />
    <Setter Property="FontWeight" Value="Normal" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding IsExpanding}" Value="True">
            <Setter Property="Control.Template" Value="{StaticResource ResourceKey=loadingTreeViewItem}" />
        </DataTrigger >
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="FontWeight" Value="Bold" />                            
        </Trigger>
    </Style.Triggers>
</Style>
  

Привязки IsExpanded и IsSelected работают нормально, однако я не могу заставить DataTrigger запускаться, когда IsExpanding имеет значение true. Эти свойства находятся в одной и той же ViewModel. Я пытался добавлять различные варианты для RelativeSource, но мне не повезло. Приветствуется любая обратная связь.

Ответ №1:

Оказывается, триггер работал. Проблема заключалась в том, что свойство IsExpanding и вызов для получения данных для TreeView выполнялись в потоке пользовательского интерфейса. Я обработал вызов, чтобы получить данные, и все работает, как ожидалось