C# 如何在树状视图中检索所选项目
我想在树状视图中检索所选项目的标题 我的代码: XAML:C# 如何在树状视图中检索所选项目,c#,wpf,C#,Wpf,我想在树状视图中检索所选项目的标题 我的代码: XAML: C#: 私有无效项(对象发送方,RoutedPropertyChangedEventArgs e) { string compteselectionne=Convert.ToString(TreeView.SelectedItem); 如果(compteselectionne==“Comptes”) { ListComptes.Visibility=可见性.Visibility; } ListComptes.Visibility=可
C#:
私有无效项(对象发送方,RoutedPropertyChangedEventArgs e)
{
string compteselectionne=Convert.ToString(TreeView.SelectedItem);
如果(compteselectionne==“Comptes”)
{
ListComptes.Visibility=可见性.Visibility;
}
ListComptes.Visibility=可见性.Hidden;
}
此代码向我显示System.Windows.Controls.TreeViewItem标题:Comptes项。计数:1
感谢您的支持
字符串compteselectionne=((TreeView项目)TreeView.SelectedItem).Header代码>您还可以执行以下操作
private void item(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeView tree = sender as TreeView;
TreeViewItem item = tree.SelectedItem as TreeViewItem;
}
私有无效项(对象发送方,RoutedPropertyChangedEventArgs e)
{
TreeView tree=作为TreeView的发送方;
TreeView项目=树。选择EdItem作为TreeView项目;
}
如果您正确使用MVVM方法,您应该在treevieItem
的TwoWay
(或OneWayToSource
)模式下绑定IsSelected
,并在ViewModels上查找此属性为真,其他所有内容都应该在那里
我将如何做的示例:
XAML(其中我的ViewModel上有一个名为IsSelected
&HeaderText
的属性,用于设置标题):
另一方面,如果视图支持,通过将SingleOrDefault
更改为Where
(或者如果需要,甚至FirstOrDefault
),同样的技术还允许您拉取多个选项
private void item(object sender, RoutedPropertyChangedEventArgs<object> e)
{
string compteselectionne = Convert.ToString(TreeView.SelectedItem);
if (compteselectionne=="Comptes")
{
ListeComptes.Visibility = Visibility.Visible;
}
ListeComptes.Visibility = Visibility.Hidden;
}
private void item(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeView tree = sender as TreeView;
TreeViewItem item = tree.SelectedItem as TreeViewItem;
}
<TreeView ItemsSource="{Binding MyCollectionOfItems}">
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="Header" Value="{Binding HeaderText}" />
</Style>
</TreeView.Resources>
</TreeView>
//null result of the following means there's no selection
var selectedItem = MyCollectionOfItems.SingleOrDefault(x => x.IsSelected)