したがって、外部関係があるいくつかのセルにいくつかの ComboBoxes を持つ WPF DataGrid がありますが、これは、一度に何百もの ComboBoxes が読み込まれ、時間がかかりすぎることを意味します。やりたいことは、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>
よろしく、フグ