WPF数据触发器在ViewModel属性更改时的应用

3

我正在尝试在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绑定工作正常,但是当IsExpanding为true时,我无法触发DataTrigger。这些属性在同一个ViewModel中。我尝试添加不同的RelativeSource变体,但没有任何运气。欢迎提供任何反馈。

1个回答

1
原来触发器正在工作。问题在于IsExpanding属性和获取TreeView数据的调用都发生在UI线程上。我将获取数据的调用放到了另一个线程中,一切都按预期工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接