Wpf 列表视图中的数据绑定
我刚接触XAML/WPF,遇到了这个奇怪的问题: 我有一个列表视图,我为它设置了一个数据源。数据源是“CatalogPartRows”的数组列表。我在代码中创建我的列。然后我设置他们的单元格模板(我的一些列包含组合框和复选框)。我这里的问题是,我需要调用“CatalogPartRow”类中的一个函数,它获取我需要在单元格中设置的字符串 以下是我尝试使用的代码:Wpf 列表视图中的数据绑定,wpf,data-binding,xaml,objectdataprovider,Wpf,Data Binding,Xaml,Objectdataprovider,我刚接触XAML/WPF,遇到了这个奇怪的问题: 我有一个列表视图,我为它设置了一个数据源。数据源是“CatalogPartRows”的数组列表。我在代码中创建我的列。然后我设置他们的单元格模板(我的一些列包含组合框和复选框)。我这里的问题是,我需要调用“CatalogPartRow”类中的一个函数,它获取我需要在单元格中设置的字符串 以下是我尝试使用的代码: // THIS DOES NOT WORK // ObjectD
// THIS DOES NOT WORK
//
ObjectDataProvider ODP = new ObjectDataProvider();
ODP.MethodName = "PropertyValueAsString";
ODP.MethodParameters.Add(PropertyName);
ODP.ObjectType = typeof(CatalogPartRow);
Binding DataBindingText = new Binding();
DataBindingText.Source = ODP;
// THIS WORKS
//
//String BindingPathText = /*NOXLATE*/"PropertyValues[" + CPR.IndexOf(PropertyName) + /*NOXLATE*/"]";
//Binding DataBindingText = new Binding(BindingPathText);
FrameworkElementFactory TextBlockElement = new FrameworkElementFactory(typeof(TextBlock));
TextBlockElement.SetBinding(TextBlock.TextProperty, DataBindingText);
FrameworkElementFactory PropertyColumnElement = new FrameworkElementFactory(typeof(Grid));
PropertyColumnElement.AppendChild(TextBlockElement);
DataTemplate DT = new DataTemplate();
DT.VisualTree = PropertyColumnElement;
GVC.CellTemplate = DT;
我的方法正确吗
CPR=CatalogPartRow
GVC=GridViewColumn
谢谢,
Raj.因为将方法包装到属性中不起作用(因为需要参数),所以最好的方法可能是创建一个值转换器。您可以使用
PropertyName
作为列的绑定,然后在转换器中将其传递给方法,并返回方法的值