編集
私はそれがDataGrid実装のバグだと思っています。あなたが本当にあなたを扱うなら、そのような望ましくない振る舞いを避けるために、列の先頭をスクロールすることをお勧めします。
IMHO問題自体は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" } };
}
}
問題は、ScrollViewerのとは何かを持っている必要があります。グリッドにアイテムソースを与え、列が半分になるまで右にスクロールし、ドラッグします。 Voila! –
あなたはスタックパネルを使用していますが、コンテンツはクリップされません –
@AdamMills私は答えを編集しました。申し訳ありませんが、あなたを助けることはできません。 –