【发布时间】:2011-06-17 08:46:06
【问题描述】:
我正在使用有两个目的的同一个窗口。在我的窗口内,我有一个列表视图,我想根据用途绑定到不同的对象。
实际上它只是一个接收导入文件的窗口。
所以最初我有这个。
<ListView Grid.Row="1" Name="_lvValues"
DataContext="{Binding ElementName=_listbox,Path=SelectedItem}"
ItemsSource="{Binding Path=DataTable(from selectedItemObject)}">
为了另一个目的,我不得不这样做
<ListView Grid.Row="1" Name="_lvValues"
DataContext="{Binding ElementName=ClassName,Path=Object}"
ItemsSource="{Binding Path=DataTable(from Object)}">
我想在窗口(构造函数)初始化期间的 if/else 语句中执行此操作。所以...
if (windowType == Type1)
// SetBinding to using listbox
else
// SetBinding to using Object
我在初始化组件后试过这个
binding = new Binding("DataTable");
binding.Source = new Binding("ListBox.SelectedItem");
_lvValues.SetBinding(ListView.ItemsSourceProperty, binding);
但显然它不起作用,我不知道如何继续。
我需要这个的原因是,第一个窗口类型有一个文件列表,而第二个窗口类型只有一个文件,所以显示一个只有一个文件的列表框是不正确的。
感谢和问候, 凯夫
【问题讨论】:
-
您不能使用每页一个列表的页面,并在选择文件时从文件列表页面更改为详细列表页面吗?
标签: c# wpf data-binding listview binding