編輯
我相信這是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" } };
}
}
問題必須有事情做與ScrollViewer中。爲您的網格添加一個itemssource,向右滾動,直到列的一半可見,然後拖動它。瞧! – 2011-12-21 17:48:27
您使用的是一個stackpanel,內容不會被剪切 – 2011-12-21 17:49:54
@AdamMills我編輯了答案。對不起,幫不了你。 – 2011-12-22 07:07:53