2011-06-20 192 views
4

我看到以下行爲與WPF Datagrid。 當有更多的項目,然後查看區域的高度,垂直滾動可用。 當我點擊視圖中的最後一行時,自動滾動發生在最後一行下方的行進入視圖。C#WPF DataGrid垂直滾動

datagrid的第一列是一個複選框。當用戶點擊最後一行時,我沒有收到複選框點擊事件。所有其他行中的複選框都可以正常工作。

我想禁用自動滾動,但不知道如何去做。

<Style x:Key="SingleClickEditing" TargetType="{x:Type toolkit:DataGridCell}"> 
    <EventSetter Event="CheckBox.Checked" Handler="OnChecked"/> 
    <EventSetter Event="CheckBox.Unchecked" Handler="OnChecked"/> 
</Style> 
+0

有沒有這樣的事情 「CSHARP」 的風格。該語言被命名爲「C#」。 –

+2

併發音爲「COctothorpe」。 :) –

回答

3

我發現這裏的解決方案: WPF DataGrid: how do I stop auto scrolling when a cell is clicked?

我改變了DataGrid的

<Style x:Key="SingleClickEditing" TargetType="{x:Type toolkit:DataGridCell}"> 
     <EventSetter Event="CheckBox.Checked" Handler="OnChecked"/> 
     <EventSetter Event="CheckBox.Unchecked" Handler="OnChecked"/> 
     <EventSetter Event="Control.RequestBringIntoView" Handler="DataGrid_Documents_RequestBringIntoView" /> 
</Style> 


private void DataGrid_Documents_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e) 
{ 
    e.Handled = true; 
} 
0

有在DataGrid中的一個屬性,您應該能夠設置將決定是否垂直,水平,兩者或無(關於滾動條)是可見的。