수집 요소의 방법에 대한 WPF 결합
-
19-09-2019 - |
문제
다음 시나리오에 대한 모범 사례 (또는 작업 솔루션)를 검색하고 있습니다.
나는있다 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 속성에 바인딩하고 매개 변수를 바인딩 변환기의 매개 변수로 전달하십시오.
제휴하지 않습니다 StackOverflow