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();
这将起作用:
<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>