2009-08-25 2 views
0

임 방법 (또는 작업 용액)에 바인딩 : 나는 List<Employee> 유형이WPF는 다음과 같은 시나리오에 가장 좋은 방법을 찾고 컬렉션 요소

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; } 
} 

:

나는 Employee 클래스가 XAML의 ComboBox에 바인딩 된 개체입니다.

각 직원의 DisplayName이 ComboBox에 올바르게 표시되어 있지만 GetSomething 메서드의 반환 값을 표시하려면 어떻게해야합니까? DisplayName 대신 각 직원의 모든 직원에 대한 정확한 매개 변수가있는 ?

메서드에 바인딩하는 것은 괜찮지 만 목록의 각 직원 개체에 대해 여러 인스턴스에 바인딩 할 수 있습니까?ObjectDataProvider을 사용하면 직원 목록의 각 직원 개체가 아닌 하나의 정확한 인스턴스 (또는 클래스)에만 바인딩 할 수 있습니다.

+0

우리의 답변이 마음에 들면, 상향 회선을 제시해야합니다. –

답변

2

보기 모델을 사용하고 각 직원에 대해 원하는 값을 반환하는 별도의 속성을 만듭니다. 보다 자세한 답변을 얻으려면 매개 변수의 출처를 알아야합니다.

+0

고맙습니다. –

1

저는 @Kent Boogaart에 동의합니다. 뷰 모델을 사용하는 것이 분명히 바람직한 방법입니다 (모범 사례는 물론입니다).

Model-View-ViewModel에 대해 더 많이 알기 전에 이전에 사용한 또 다른 가능성은 BindingConverter입니다. Employee 클래스 나 DisplayName 속성에 바인딩하고 바인딩 변환기에 매개 변수로 매개 변수를 전달합니다.

+0

답변 해 주셔서 감사합니다. 뷰 모델은 확실히가는 길입니다. Im은 MVVM에 대해 자세히 설명하고 있습니다. 상황은 처음에는 분명하지 않았습니다. –