我是WPF的新手,当我尝试使用自定义对象列表填充ListView时遇到了一些困难。WPF数据绑定问题
internal class ApplicationCode
{
public int Code { get; set; }
public IEnumerable<string> InstrumentCodes { get; set; }
}
我有一个我设置为ItemsSource到ListView的ApplicationCode的列表。我需要将ApplicationCode.Code显示为字符串,对于其余列,可以选中/取消选中复选框,具体取决于列名是否包含在InstrumentCodes集合中。
为了设置我使用转换器上的数据绑定的复选框:
<DataTemplate x:Key="InstrumentCodeTemplate">
<CheckBox IsEnabled="False" IsChecked="{Binding Mode=OneTime, Converter={StaticResource InstrumentSelectionConverter}}" />
</DataTemplate>
我的问题是,因为我不知道这是在细胞数据的时间目前列绑定和我无法设置ConverterParameter。
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
ApplicationCode appCode = value as ApplicationCode;
return appCode != null && appCode.InstrumentCodes.Contains(parameter.ToString());
}
小例子:
Id | Code1 | Code3 | Code4
--------------------------------
123 | True | False | True
数据第1行:ApplicationCode.InstrumentCodes {编码1,码4}
有一个办法,找出列索引或名称?或者有另一种方法来解决这个问题?
什么是你的XAML代码的绑定的ListView? – 2011-01-11 15:36:58
嗨马丁。绑定在后面的代码中进行:AcnList.ItemsSource = repository.GetApplicationCodes(); GetApplicationCodes返回一个列表 –
Costin
2011-01-11 16:18:29