我想为wpf中的总线通信创建一个数据记录器。总线通信由电报组成,电报包含源地址、目标地址、命令类型、电报长度和实际数据。我想在一个看起来像媒体播放器播放列表的列表框中表示这些电报。ListBox应分为源地址、目标地址等列。通过单击某个元素,您应该选择完整的行。如果您缓慢地单击一个元素两次,您应该能够选择行中包含的文本。如果您快速双击某个元素,则会打开一个包含详细数据的窗口。第一行应该包含列的名称,可以通过单击它对数据进行排序(鼠标悬停时只突出显示元素)。
这样的控件是否已经可用于WPF(带有源代码)?如果不是,我如何在wpf中创建像windows媒体播放列表一样的控件?
谢谢,kyon
您想要的控件是DataGrid
。它可以做很多你要求的开箱即用的事情,但不是全部。
要启用打开详细信息对话框,您需要处理MouseDoubleClick
事件。在处理程序中,将sender
强制转换为DataGrid
,并获取SelectedItem
或SelectedIndex
属性以确定要在详细信息对话框中显示的电报。
有一个内置的编辑功能,允许您选择单元格中的文本,但用户也可以更改此文本。我不确定这是否是你想要的,但如果你想要只读,可能有一种方法可以取消对文本的任何更改。