WPF绑定到集合元素的方法

时间:2009-08-25 10:29:39

标签: c# wpf data-binding xaml objectdataprovider

我正在为以下场景搜索最佳实践(或任何有效的解决方案):

我有一个Employee课程:

public class Employee
{
    public string DisplayName
    { get; set; }

    // It is important that this method has a parameter
    public string GetSomething(string param)
    { return param + DisplayName; }
}

我有一个List<Employee>类型的对象绑定到XAML中的ComboBox。

每个员工的DisplayName在ComboBox中正确显示,但是如何为每个员工而不是DisplayName显示GetSomething方法的返回值以及所有员工的确切参数? / p>

绑定到方法是正常的,但是如何绑定到多个实例(对于列表中的每个雇员对象)?使用ObjectDataProvider我只能绑定到一个确切的实例(或类),而不是员工列表的每个员工对象。

2 个答案:

答案 0 :(得分:2)

省去一些麻烦:使用视图模型并创建一个单独的属性,返回每个员工所需的值。为了给出更详细的答案,我需要知道参数的来源。

答案 1 :(得分:1)

我同意@Kent Boogaart使用视图模型绝对是理想的方式(以及最佳实践)。

我之前使用的另一种可能性(在我了解更多关于Model-View-ViewModel之前)是使用BindingConverter。绑定到Employee类或DisplayName属性,并将参数作为参数传递给绑定转换器。