この単純な WPF-DataGrid
<DataGrid AutoGenerateColumns="False" Height="300" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Name="dgOriginal" Margin="4,12,0,0"
CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" IsSynchronizedWithCurrentItem="True"
CanUserSortColumns="False" SelectionMode="Single" SelectionUnit="FullRow">
<DataGrid.Columns>
<DataGridCheckBoxColumn x:Name="col2Checked"/>
<DataGridTextColumn x:Name="col2Name"/>
<DataGridTextColumn x:Name="col2Vorname"/>
</DataGrid.Columns>
バインドされたリストを問題なく表示しますが、フォーカスを戻すと奇妙な動作をします: まず、ユーザーが行を選択すると、データグリッドにその行が選択された方法で表示されます (SelectedItem と CurrentItem には、選択されたオブジェクトが含まれます)。 . 次に、別のコントロールにフォーカスが移ります。このステータスでは、選択はまだ表示されています - CurrentItem が null である間、SelectedItem はまだ存在します! そしてTABボタンでフォーカスを戻します。これにより、CurrentItem が、SelectedItem が変更されていないときに表示される最初のオブジェクトになります。したがって、CurrentItem は、DataGrid に表示されるその状態の SelectetItem と一緒にはなりません。そして、私は自分自身にそれが何のために良いと思います...
私の質問は次のとおりです: フォーカスが失われる前に選択されたのと同じ CurrentItem を持つように DataGrid にアドバイスするにはどうすればよいですか? また、CurrentItem と SelectedItem を同期するにはどうすればよいでしょうか?
簡単な解決策を願っています!あなたは私を大いに助けてくれるでしょう。前もって感謝します...