Treeview selectedItem在启动时高亮显示

本文关键字:高亮 显示 启动 selectedItem Treeview | 更新日期: 2023-09-27 18:27:46

我的xaml中有一个树视图,如下所示。我通过使用交互性和绑定事件来使用所选项目。

    <DataTemplate x:Key="TreeTemplate">
        <TreeView Name="TreeView" ItemsSource="{Binding ItemList}" ItemTemplate="{StaticResource ChildTemplate}">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectedItemChanged">
                    <i:InvokeCommandAction
                        Command="{Binding SetSelectedItemCommand}"
                        CommandParameter="{Binding SelectedItem, ElementName=TreeView}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </TreeView>
    </DataTemplate>

除了第一次由应用程序加载外,这一切都非常有效。即使在启动时设置了SelectedItem属性,树视图也不会显示高亮显示的项目,除非触发了导致SelectedItemChanged事件的鼠标事件。关于我该怎么做,有什么想法吗?

我的数据上下文在xaml 的代码后面

        myView = new MyViewModel();    
        this.DataContext = myView;
        InitializeComponent();

Treeview selectedItem在启动时高亮显示

这将起作用:

<DataTemplate x:Key="TreeTemplate">
    <TreeView Name="TreeView" ItemsSource="{Binding ItemList}" ItemTemplate="{StaticResource ChildTemplate}">
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="SelectedItemChanged">
                <i:InvokeCommandAction
                    Command="{Binding SetSelectedItemCommand}"
                    CommandParameter="{Binding SelectedItem, ElementName=TreeView}"/>
             <i:EventTrigger EventName="Loaded">
                <i:InvokeCommandAction
                    Command="{Binding SetSelectedItemCommand}"
                    CommandParameter="{Binding SelectedItem, ElementName=TreeView}"/>
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </TreeView>
</DataTemplate>