将列表添加到c#TreeView
我有一个对象MyResult,它包含一个列表“list MyItems” 我想将此添加到c#WPF树视图中 这样做的最佳方式是什么 有关于这个的分步教程吗?因为我对所有的MVVM类都感到困惑将列表添加到c#TreeView,c#,wpf,treeview,C#,Wpf,Treeview,我有一个对象MyResult,它包含一个列表“list MyItems” 我想将此添加到c#WPF树视图中 这样做的最佳方式是什么 有关于这个的分步教程吗?因为我对所有的MVVM类都感到困惑 谢谢我假设列表中的对象有某种列表。 如果是这样的话,你应该考虑使用 下面是一个简单的例子。这是我在radtreeview中使用的一个片段,但它的工作原理应该是一样的 <!-- xaml --> <UserControl.Resources> <St
谢谢我假设列表中的对象有某种列表。 如果是这样的话,你应该考虑使用 下面是一个简单的例子。这是我在radtreeview中使用的一个片段,但它的工作原理应该是一样的
<!-- xaml -->
<UserControl.Resources>
<Style x:Key="_treeViewItemStyle" TargetType="telerik:RadTreeViewItem">
<Setter Property="Visibility" Value="{Binding IsVisible, Converter={StaticResource VisibilityConverter}}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled}"/>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
<UI:HierarchicalDataTemplate x:Key="_treeViewTemplate"
ItemsSource="{Binding NodeItems}"
>
<TextBlock Margin="3,0,0,0" Text="{Binding Header}">
</TextBlock>
</UI:HierarchicalDataTemplate>
</UserControl.Resources>
<telerik:RadTreeView x:Name="_pageNavigator" ItemsSource="{Binding InspNavList}" ItemDoubleClick="SendFocusToPage" SelectedItem="{Binding SelectedNavItem, Mode=TwoWay}" ItemTemplate="{StaticResource _treeViewTemplate}" ItemContainerStyle="{StaticResource _treeViewItemStyle}" />
我假设列表中的对象具有某种列表。 如果是这样的话,你应该考虑使用 下面是一个简单的例子。这是我在radtreeview中使用的一个片段,但它的工作原理应该是一样的
<!-- xaml -->
<UserControl.Resources>
<Style x:Key="_treeViewItemStyle" TargetType="telerik:RadTreeViewItem">
<Setter Property="Visibility" Value="{Binding IsVisible, Converter={StaticResource VisibilityConverter}}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled}"/>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
<UI:HierarchicalDataTemplate x:Key="_treeViewTemplate"
ItemsSource="{Binding NodeItems}"
>
<TextBlock Margin="3,0,0,0" Text="{Binding Header}">
</TextBlock>
</UI:HierarchicalDataTemplate>
</UserControl.Resources>
<telerik:RadTreeView x:Name="_pageNavigator" ItemsSource="{Binding InspNavList}" ItemDoubleClick="SendFocusToPage" SelectedItem="{Binding SelectedNavItem, Mode=TwoWay}" ItemTemplate="{StaticResource _treeViewTemplate}" ItemContainerStyle="{StaticResource _treeViewItemStyle}" />
您可以使用
=我的列表
是一个如何使用MVVM的教程。您可以使用
=我的列表
这是一个如何使用MVVM的教程。没有最好的方法。事实上确实有,但是你需要更多关于系统本身和当前情况的数据(以及一些深刻的知识)来知道做事情的最佳方式。好吧,把它放在一边 如果要使用绑定,可以执行以下操作: a。在页面/窗口/用户控件中,将DataContext属性设置为指向对象(MyResult) b。在XAML文件中,使用以下代码段将treeView项绑定到该列表:
<TreeView ItemsSource={Binding MyItems}>
....
</TreeView>
....
c。享受结果
有几件事你需要考虑一下:
1.您应该为MyItems对象实现DataTemplate。默认实现只需要将ToString()结果放入树视图中。
2.如果希望使用层次数据(即具有级别的数据),则应实现HierarchycalDataTemplate并指出树中每个节点的子节点位置。
3.您应该考虑使用ExababeLeCon进行正确绑定——这样一来,列表中的每个项的添加/删除将调用UI中的更改。
这里有几个链接可以帮助您入门:,。没有最好的方法。事实上确实有,但是你需要更多关于系统本身和当前情况的数据(以及一些深刻的知识)来知道做事情的最佳方式。好吧,把它放在一边 如果要使用绑定,可以执行以下操作: a。在页面/窗口/用户控件中,将DataContext属性设置为指向对象(MyResult) b。在XAML文件中,使用以下代码段将treeView项绑定到该列表:
<TreeView ItemsSource={Binding MyItems}>
....
</TreeView>
....
c。享受结果
有几件事你需要考虑一下:
1.您应该为MyItems对象实现DataTemplate。默认实现只需要将ToString()结果放入树视图中。
2.如果希望使用层次数据(即具有级别的数据),则应实现HierarchycalDataTemplate并指出树中每个节点的子节点位置。
3.您应该考虑使用ExababeLeCon进行正确绑定——这样一来,列表中的每个项的添加/删除将调用UI中的更改。
这里有几个链接可以帮助您开始:,。我找到了这个,这是一个完美的开始:我找到了这个,这是一个完美的开始: