Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实现撤消/重做功能_C#_Wpf_Multi Select_Undo Redo - Fatal编程技术网

C# 实现撤消/重做功能

C# 实现撤消/重做功能,c#,wpf,multi-select,undo-redo,C#,Wpf,Multi Select,Undo Redo,我正在尝试实现一个下拉式撤消/重做菜单,类似于Windows中的菜单。我已经有了一个备份ObservableCollection,它正确地存储了操作堆栈,并且当前有一个ListView显示它们 我目前不确定如何实现突出显示当前选择上方所有项目的功能。我目前的想法是,以下其中一项最好: 将吸引的属性添加到列表视图项 从ListViewItem派生并使用依赖属性实现功能,前提是我可以获得ListView以将此类用作项目容器 以ItemsControl 我不熟悉WPF和C#编程,因此我非常感谢您提

我正在尝试实现一个下拉式撤消/重做菜单,类似于Windows中的菜单。我已经有了一个备份
ObservableCollection
,它正确地存储了操作堆栈,并且当前有一个
ListView
显示它们

我目前不确定如何实现突出显示当前选择上方所有项目的功能。我目前的想法是,以下其中一项最好:

  • 将吸引的属性添加到列表视图项

  • ListViewItem
    派生并使用依赖属性实现功能,前提是我可以获得
    ListView
    以将此类用作项目容器

  • ItemsControl


我不熟悉WPF和C#编程,因此我非常感谢您提供的任何建议。

您可以使用
AlternationCount
和属性来突出显示AlternationIndex小于(或等于)ListView的SelectedIndex属性的所有项目。请注意,要使ItemsControl使用自定义的item容器类,请重写其
GetContainerForItemOverride
方法。