WPF xaml ページで、2 つのオプションがある 1 つのコンボボックスをユーザーに提供したいと考えています。
(1) ユーザーがグリッドビューで編集できるようにする (2) ユーザーがフォームで編集できるようにする
ユーザーが最初のオプションを選択した場合、ユーザーは gridview 自体でレコードの追加/編集を許可する必要があります。
ユーザーが 2 番目のオプションを選択した場合、gridview の追加/編集ボタンをクリックすると、1 つのフォーム ページに gridview のすべてのフィールドが表示されます。フォームでは、ユーザーは gridview のレコードを追加/編集できます。
誰でもこれについてアイデアを出すことができますか?
ここに DataGrid のメイン コードがあります。
<Controls:DataGrid Grid.Row="0" SelectedItem="{Binding Path=CurrentSelectedItem, Mode=TwoWay}" AutoGenerateColumns="False" SelectionMode="Single">
<Controls:DataGrid.Columns>
<Controls:DataGridTemplateColumn>
<Controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Remove" VerticalAlignment="Center" HorizontalAlignment="Center" Command="{Binding Source={StaticResource cmdDeleteRecord}}" CommandParameter="{Binding Path=Attribute[ExtensionDataId].Value}" Margin="8,0,8,0" />
</DataTemplate>
</Controls:DataGridTemplateColumn.CellTemplate>
</Controls:DataGridTemplateColumn>
<Controls:DataGridTemplateColumn HeaderStyle="{StaticResource WrappedColumnHeaderStyle}" Header="Vendor" CanUserSort="True" ToolTipService.ToolTip="Vendor" SortMemberPath="VendorPrincipalId_Name-Reference" MaxWidth="250">
<Controls:DataGridTemplateColumn.ClipboardContentBinding>
<Binding Path="Attribute[VendorPrincipalId_Name].Value" Mode="TwoWay" />
</Controls:DataGridTemplateColumn.ClipboardContentBinding>
<Controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBox Style="{DynamicResource GridCellTemplateTextBox}" TextWrapping="Wrap">
<TextBox.Text>
<Binding Path="Attribute[VendorPrincipalId_Name].Value" Mode="TwoWay" />
</TextBox.Text>
</TextBox>
</StackPanel>
</DataTemplate>
</Controls:DataGridTemplateColumn.CellTemplate>
</Controls:DataGridTemplateColumn>
<Controls:DataGridTemplateColumn HeaderStyle="{StaticResource WrappedColumnHeaderStyle}" Header="Vendor's Key" CanUserSort="True" ToolTipService.ToolTip="Vendor's Key" SortMemberPath="Attribute[VendorKey].Value" MaxWidth="250">
<Controls:DataGridTemplateColumn.ClipboardContentBinding>
<Binding Path="Attribute[VendorKey].Value" />
</Controls:DataGridTemplateColumn.ClipboardContentBinding>
<Controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBox Style="{DynamicResource GridCellTemplateTextBox}" TextWrapping="Wrap">
<TextBox.Text>
<Binding Path="Attribute[VendorKey].Value" />
</TextBox.Text>
</TextBox>
</StackPanel>
</DataTemplate>
</Controls:DataGridTemplateColumn.CellTemplate>
</Controls:DataGridTemplateColumn>
</Controls:DataGrid.Columns>
</controls:DataGrid>