Dav*_*lle 44 wpf treeview expand
有没有办法在WPF中自动扩展树视图中的所有节点?我搜索了,甚至没有在treeview属性中找到扩展函数.
谢谢
Anv*_*aka 69
您可以设置ItemContainerStyle并使用IsExpanded属性.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<TreeView>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="True"/>
</Style>
</TreeView.ItemContainerStyle>
<TreeViewItem Header="Header 1">
<TreeViewItem Header="Sub Item 1"/>
</TreeViewItem>
<TreeViewItem Header="Header 2">
<TreeViewItem Header="Sub Item 2"/>
</TreeViewItem>
</TreeView>
</Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)
如果需要从代码执行此操作,可以为树视图项编写viewmodel,并将IsExpanded属性绑定到模型中的相应属性.有关更多示例,请参阅Josh Smith在CodeProject上的精彩文章:使用ViewModel模式简化WPF TreeView
这是我使用的:
private void ExpandAllNodes(TreeViewItem rootItem)
{
foreach (object item in rootItem.Items)
{
TreeViewItem treeItem = (TreeViewItem)item;
if (treeItem != null)
{
ExpandAllNodes(treeItem);
treeItem.IsExpanded = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了使它工作,您必须在根节点的foreach循环中调用此方法:
// this loop expands all nodes
foreach (object item in myTreeView.Items)
{
TreeViewItem treeItem = (TreeViewItem)item;
if (treeItem != null)
{
ExpandAllNodes(treeItem);
treeItem.IsExpanded = true;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
如果你想手动扩展你可以尝试
XML:
<TreeView x:Name="TreePeople">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="True" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
Run Code Online (Sandbox Code Playgroud)
C#:
bool Expanded = false;
// The event subscription method (for a button click)
private void ButtonExpand__Click(object sender, RoutedEventArgs e)
{
Expanded = !Expanded;
Style Style = new Style
{
TargetType = typeof(TreeViewItem)
};
Style.Setters.Add(new Setter(TreeViewItem.IsExpandedProperty, Expanded));
TreePeople.ItemContainerStyle = Style;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34315 次 |
最近记录: |