我在.xaml.cs中有一个要调用的函数:
xaml.cs
private void treeView_SelectedItemChanged(object sender, EventArgs e)
{
//treeView.ScrollToCenterOfView(sender as TreeViewItem);
}
喜欢这篇文章:Make ListView.ScrollIntoView Scroll the Item into the Center of the ListView (C#)答案1
但是我不使用SelectedItem,我的方法是:
XAML:
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsActive}" Value="true">
// ###call this function
</DataTrigger>
</Style.Triggers>
我不知道如何通过更改DataModel来提高此功能。在每个教程中,我都通过事件/命令来做到这一点。
THX
我认为你不能。 DataTrigger只能更改WPF级别的显示。标准方法是使用控件提供的作为事件。
TreeViewItem类具有一个IsSelected,重要的是一个Selected事件,因此,从理论上讲,您可以在创建TreeViewItem时在其上为Selected事件设置事件处理程序。
这是我对带有DataTrigger的Auto-ScrollItemToCenter TreeView的解决方案,因此滚动的不是所选项目。
只需为这些情况添加另一个稍微有点怪异的选项。