이것이 가능한지 확실하지 않습니다. 나는 그것이 제대로 MyClass의 모든 항목을 표시하도록이 같은 콤보 ... 그게 가능한 옵션을로드 뒤에 코드하나의 ComboBox 선택을 두 개의 서로 다른 데이터에 바인딩 할 수 있습니까?
<ComboBox Name="testType"
Margin="0,5,0,0"
IsTextSearchEnabled="True"
DisplayMemberPath="Description"
SelectedValue="{Binding MyClass.Id, Mode=TwoWay}"
SelectedValuePath="Id"/>
...
DataTable testCatList = TestTypeBase.GetAll();
testType.ItemsSource = testCatList.DefaultView;
을 만들었습니다. 사용자가 선택하면 MyClass의 Id 필드가 의도 한대로 업데이트됩니다. 큰.
여기 내 문제가 있습니다 : 내 testCatList 각 행에 대한 ID 및 설명이 모두 포함되어 있고 해당 필드를 모두 현재 MyClass 인스턴스에 바인딩 된 싶습니다. 그래서 여기 내가 뭘하려입니다 : 여기
<ComboBox Name="testType"
Margin="0,5,0,0"
IsTextSearchEnabled="True"
DisplayMemberPath="Description">
<ComboBox.SelectedValue>
<MultiBinding Converter="{???}">
<Binding Path="MyClass.Id" Mode="TwoWay"/>
<Binding Path="MyClass.Description" Mode="TwoWay"/>
</MultiBinding>
</ComboBox.SelectedValue>
</ComboBox>
, 내가 MyClass.Id 선택한 ID와 선택 정보로 설정 MyClass.Description로 설정해야하고 싶습니다. 보시다시피, Id를 더 이상 원하지 않기 때문에 SelectedValuePath를 제거했습니다. 그러나 변환기 (위의 물음표 참조)에 사용할 항목을 모르겠습니다.
어떤 아이디어, 오 전문가 StackOverflow? 감사.
나는 그것을 얻으려는 편도 변환기부터 시작하겠다. 코드 뒤에 변환기를 만들었습니까? 그렇다면 가지고있는 것을 게시하십시오. – Paparazzi
아니요, 데이터가 올바른 형식 (DataTable.Id> MyClass.Id 및 DataTable.Description> MyClass.Description)로되어 있으므로 변환기를 만들지 않았습니다. 코드를 사용하지 않고 두 필드를 바인딩하는 방법이 있다고 생각했습니다. – Jarvis
내가 아는 변환기없이 결합 또는 분할 할 방법이 없습니다. Converter 구문을 사용하면 변환기가 필요하다는 표시가되지 않습니까? 클래스 인 경우 조합을 나타내는 Property를 만들 수 있으므로 단일 값처럼 보입니다. – Paparazzi