【发布时间】:2011-08-25 09:28:44
【问题描述】:
我已经完成了这个非常简单的示例,它是一个带有 TreeView 和 Button 的窗口。当您单击按钮时,您应该会看到选定的项目,但它不起作用,当您更改选择时,CurrentItem 属性不会更新:
C#:
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Data;
namespace TreeViewSort
{
public partial class Window1
{
private ObservableCollection<string> _items;
public ListCollectionView SortedItems { get; private set; }
public Window1()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
_items =new ObservableCollection<string>();
_items.Add("ZZ");
_items.Add("AA");
_items.Add("CA");
_items.Add("DA");
_items.Add("EA");
this.SortedItems = new ListCollectionView(_items);
this.DataContext = this;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this.SortedItems.CurrentItem.ToString());
}
}
}
XAML:
<Window x:Class="TreeViewSort.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
<DockPanel>
<TreeView DockPanel.Dock="Top" Name="treeView1" ItemsSource="{Binding SortedItems, Mode=TwoWay}" MinHeight="200" />
<Button DockPanel.Dock="Bottom" Click="Button_Click">
Test
</Button>
</DockPanel>
</Window>
MSDN 文档说
如果目标是ItemsControl,则当前项与选中项同步
知道为什么这不起作用吗?
提前致谢。
【问题讨论】:
标签: c# .net wpf treeview listcollectionview