WPF DataTrigger при изменении свойства ViewModel - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь запустить триггер, когда свойство в моей 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 Ответ

0 голосов
/ 08 июня 2011

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

...