GridView 열에 ComboBox 용 DataTemplate이 있습니다. 셀을 편집 할 때 ComboBox를 표시하고 그렇지 않으면 TextBlock을 표시하려고합니다. 그러나 원하는 값을 표시하려면 TextBox 가져 오는 데 문제가 있습니다.ComboBox DataTemplate을 ItemSource 속성으로 바인딩
행의 ViewModel에는 RegionId 만 있지만 콤보는 ID 개체와 이름이있는 지역 개체 컬렉션에 바인딩됩니다. ViewModel에 Name 속성이 없기 때문에 값을 편집하지 않을 때 Region.Name을 표시하고 싶습니다. 현재로서는 RegionId를 표시하는 방법 만 찾을 수 있습니다.
Telerik 콤보 박스를 사용하고 있지만이 문제는 바인딩 문제 일 뿐이므로 표준 문제는 내 생각대로 표준 ComboBox 컨트롤과 같을 것입니다.
DataTemplate에서 내 TextBlock을 어떻게 바인딩해야합니까?
<telerik:GridViewDataColumn>
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RegionId}" /> <!-- would like Region.Name -->
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<telerik:RadComboBox ItemsSource="{Binding Source={StaticResource regionView}}"
DisplayMemberPath="Name" SelectedValuePath="Id" SelectedValue="{Binding Path=RegionId, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
모두 매개 변수를 전달하는 IMultiValueConverter을 사용해야합니다 가장 쉬운 방법 귀하의 ViewModel? –
좋은 지적이지만, 수정 된 데이터 계약에 명시되어 있습니다. – openshac
Region.Name을 넣지 않는 이유는 무엇입니까? – Phil