[英]WPF datagrid only editable if double click
我有一個DataGrid,我希望用戶能夠編輯某些列,但前提是他們必須首先雙擊該單元格。 如果他們單擊單元格,然后在開始輸入的那一刻,它將立即進入編輯模式。
我試圖使用MouseDoubleClick事件並禁用只讀,但無法在后面的代碼中設置此屬性。
有幫助/其他建議嗎? 謝謝
我通過設置列屬性IsReadOnly =“ True”解決了這一問題。
然后將每個單元格都掛接到事件MouseDoubleClick中。
<Style TargetType="{x:Type DataGridCell}">
<EventSetter Event="MouseDoubleClick" Handler="DataGridCell_MouseDoubleClick" />
</Style>
並在后面的代碼中:
private void DataGridCell_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (sender.GetType() == typeof(DataGridCell))
{
DataGridCell cell = sender as DataGridCell;
cell.IsEditing = true;
}
}
這似乎忽略了isreadonly屬性,雙擊后可以成功更新該屬性。 您現在也可以按名稱過濾掉某些列,但是我不需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.