Итак, у нас есть WPF DataGrid с некоторыми ComboBoxами в некоторых ячейках, где есть внешнее отношение, но это означает, что у нас загружаются сотни ComboBox за один раз, что занимает слишком много времени. То, что мы хотели бы сделать, это загрузить метку до тех пор, пока она не будет нажата, и в этот момент загружается ComboBox, мы можем легко сделать это с помощью TextBox.
Проблема в том, что наши комбинированные списки работают и позволяют пользователю изменять значение внешнего ключа в столбце, выбирая из ряда отображаемых значений (например, {Car, Dog, Cat}). Но перед тем, как пользователь щелкнет на ярлыке, на ярлыке отобразится само значение внешнего ключа (например, {1, 2, 3}).
Есть идеи о том, что мы могли бы сделать? Любая помощь наиболее ценится!
<DataGridTemplateColumn Header="Column Name" SortMemberPath="Column Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Content="{Binding Path=DataViewBehindColumnName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
DataContext="{DynamicResource ResourceKey=ViewModel}"
ItemsSource="{Binding Path=ReferenceTableName,
Converter={StaticResource dataViewToListConverter}}"
DisplayMemberPath="ReferenceTableDisplayNamesColumn"
SelectedValuePath="ReferenceTablePrimaryKeyColumn"
SelectedValue="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}},
Path=Item[DataViewBehindColumnName]}"
/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
С уважением,
Фуга