編集
これは DataGrid 実装のバグだと思います。本当にあなたを治療するのであれば、そのような望ましくない動作を避けるために、列の最初をスクロールすることをお勧めします.
私見の問題自体はSystem.Windows.Controls.DataGridColumnFloatingHeader
. このクラスは内部であるため、問題を回避するのは困難です。
再現方法:
最初の列をドラッグするよりも、少し右にスクロールします。
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="400" Width="300">
<ScrollViewer x:Name="uiScroll">
<DataGrid Grid.Row="3" x:Name="uiGrid">
<DataGrid.Columns>
<DataGridTextColumn Width="200" Header="Test 1" Binding="{Binding Key}" />
<DataGridTextColumn Width="200" Header="Test 2" Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Window>
...
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
uiGrid.ItemsSource = new Dictionary<string, string>() { { "key1", "val1" }, { "key2", "val2" } };
}
}