문제

다음 시나리오에 대한 모범 사례 (또는 작업 솔루션)를 검색하고 있습니다.

나는있다 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에 묶인 객체를 입력하십시오.

각 직원의 디스플레이 이름은 Combobox에 올바르게 표시되지만 GetSomething 메소드의 반환 값을 어떻게 표시 할 수 있습니까? 모든 직원에 대한 정확한 매개 변수가 있습니다 디스플레이 이름 대신 각 직원에 대해?

메소드에 바인딩하는 것은 괜찮지 만 여러 인스턴스에 어떻게 바인딩 할 수 있습니까 (목록의 각 직원 개체에 대해)? 이랑 ObjectDataProvider 직원 목록의 각 직원 개체가 아니라 하나의 정확한 인스턴스 (또는 클래스)에만 바인딩 할 수 있습니다.

도움이 되었습니까?

해결책

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

다른 팁

@kent boogaart는보기 모델을 사용하는 것이 확실히 원하는 방법 (모범 사례)이라고 동의합니다.

내가 전에 사용했던 또 다른 가능성 (모델-뷰 뷰 모델에 대해 더 많이 알기 전에)은 BindingConverter. 직원 클래스 또는 DisplayName 속성에 바인딩하고 매개 변수를 바인딩 변환기의 매개 변수로 전달하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top