我有一個ListView
。此ListView
的Itemsource由ObservableCollection
填充。ListViewItem作爲EditableTextBlock
我試圖實現的是使ListViewItems可編輯。因此,我下載了這個解決方案https://www.codeproject.com/Articles/31592/Editable-TextBlock-in-WPF-for-In-place-Editing
只要我的ListView
沒有填充ObservableCollection
我可以使這項工作。
我不ObservableCollection
代碼:
private void ListView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.F2)
SetCurrentItemInEditMode(true);
}
private void SetCurrentItemInEditMode(bool EditMode)
{
ListViewItem m = (ListViewItem)ListView1.SelectedItem;
EditableTextBlock e = m.Content as EditableTextBlock;
e.IsInEditMode = EditMode;
}
然而,當我填充ListView
項目與ObservableCollection
這是行不通的。
MyFiles m = (MyFiles)ListView1.SelectedItem;
EditableTextBlock e = m.FileName as EditableTextBlock;
e.IsInEditMode = EditMode;
MyFiles包含(FileName,FileCreation和FileIcon)。我想將選定的文件名ListViewItem
轉換爲EditableTextBlock
控件。
謝謝你的幫助。
P.S.我對WPF很新,所以如果我的問題很蠢,請道歉。
這就是公關etty窮人的解決方案,它看起來像來自winforms的傢伙,還沒有聽說過數據模板。在WPF中編輯某些東西非常容易,只需提供適當的模板並使用雙向綁定即可。無法找到簡單的副本,請參閱[本教程](http://www.wpf-tutorial.com/listview-control/listview-with-gridview/)。 – Sinatr