使用哪个控件来构建十六进制编辑器?

3

我想使用XAML/WPF和C#创建一个十六进制编辑器,但我需要一种表格控件来显示文件内容。每一列都应该有一个文本框,以便查看地址、十六进制值和ASCII值。

以后我想添加其他列,比如Unicode之类的。用户应该能够查看/隐藏列。

我需要哪些控件才能实现这个功能?

我考虑使用ListView,使用GridView定义列,并在每一列中使用一个文本框。但是ListView更像是一个多行控件。你能给我一个提示,告诉我应该使用哪个控件吗?


4
为什么要重复造轮子呢?Be.HexEditor 包含一个可重复使用的十六进制框控件。 - John Koerner
很遗憾,Be.HexEditor是Windows Forms应用程序,而不是WPF。 - komizo
我知道WindowsForms控件可以被托管在WPF中,我甚至成功地做到了。不幸的是,如果在WPF中使用WindowsHostedControl,已知存在Z-Position问题。因此,如果有关于在WPF中构建类似应用程序可用的控件提示,那将是很好的。 - komizo
2个回答

2

编辑:我同意该评论,如果现有的Be.HexEditor控件可以满足您的需求,那将是最佳选择。

否则,我建议使用DataGrid来查看和输入此类表格。如果您在谷歌上搜索,会有很多示例和教程(像这个)。


1
你可以查看我的项目,Wpf十六进制编辑器。我认为它可以帮助你 :)
你可以在Wpf或WinForm应用程序中非常容易地使用它。下载代码并测试Wpf(C#,VB.NET)和WinForm(C#)示例。

https://github.com/abbaye/WPFHexEditorControl

<!-- XAML -->
<Control:HexaEditor/>
<Control:HexaEditor Width="NaN" Height="NaN"/>
<Control:HexaEditor Width="Auto" Height="Auto"/>
<Control:HexaEditor FileName={Binding FileNamePath} Width="Auto" Height="Auto"/>

Image1


您需要披露这是您链接到的项目。请参阅帮助中心 - Machavity
我可以怎样透露这件事呢 :) - Derek Tremblay
1
我们在.NET 4.6.1版本中有相同的十六进制编辑器吗? - Niranjan NT
您可以在项目文件中添加NET45或NET461,然后构建项目。 :) - Derek Tremblay
Derek,这个控件看起来有点过多了。能否自定义它只显示十六进制编辑器?也就是只有一行十六进制数字和编辑功能。 - Vincent
是的,你可以通过内置属性来实现这个功能 :) (抱歉回复晚了) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接