【问题标题】:WPF Binding to method of a collection elementWPF绑定到集合元素的方法
【发布时间】:2009-08-25 10:29:38
【问题描述】:

我正在为以下场景寻找最佳实践(或任何可行的解决方案):

我有一个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 中,但是我怎样才能显示 GetSomething 方法的返回值为所有员工提供精确参数,而不是 DisplayName?

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

【问题讨论】:

  • 如果你喜欢我们的回答,你应该给他们点赞。

标签: c# wpf data-binding xaml objectdataprovider


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我同意@Kent Boogaart 的观点,即使用视图模型绝对是理想的方式(也是最佳实践)。

    我之前使用过的另一种可能性(在我对模型-视图-视图模型了解更多之前)是使用BindingConverter。绑定到您的 Employee 类或 DisplayName 属性,并将参数作为参数传递给绑定转换器。

    【讨论】:

    • 非常感谢您的回答!视图模型绝对是要走的路。我刚刚深入了解 MVVM,第一眼看到情况并不清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 2013-08-27
    • 2010-12-10
    相关资源
    最近更新 更多