鼠标单击 TreeViewItem 箭头(在视图中)后,如何停止 treeview collaps 事件?我需要显示我的树视图一直在扩展。
问问题
2564 次
3 回答
4
您可以在 XAML 中设置 Collapsed 事件:
<TreeView
Name="myTreeView"
ItemsSource="{Binding dataSource}">
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="True" />
<Style.Triggers>
<EventTrigger RoutedEvent="Collapsed">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames
Duration="0"
Storyboard.TargetProperty="(TreeViewItem.IsExpanded)">
<DiscreteBooleanKeyFrame KeyTime="0" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
于 2013-08-14T20:53:40.257 回答
1
您可以将 TreeViewItem 上的 Collapsed 事件设置为:
private void TreeViewItem_Collapsed(object sender, RoutedEventArgs e)
{
(sender as TreeViewItem).IsExpanded = true;
}
但是,它并不能阻止它折叠,它只是在折叠时自动扩展它。
于 2012-05-09T14:33:59.007 回答
0
只需重新设计甚至没有TreeViewItems
箭头(和可折叠区域)。
例如
<Style TargetType="TreeViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<StackPanel>
<ContentPresenter ContentSource="Header"/>
<ItemsPresenter Margin="20,0,0,0"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
(这是最低要求,如果需要,您将需要触发器来显示当前选择)
于 2012-05-09T14:11:15.977 回答