哪个控件可以构建十六进制编辑器?

Posted

技术标签:

【中文标题】哪个控件可以构建十六进制编辑器?【英文标题】:Which control to build a Hex-Editor? 【发布时间】:2012-12-17 06:47:01 【问题描述】:

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

稍后我想添加其他列,例如 Unicode 或其他内容。 用户应该能够查看/隐藏列。

我需要哪些控件才能做到这一点?

我想到了ListView,用GridView 来定义列和每个列中的文本框。 但是ListView 更像是Multi-Row 控件。 你能告诉我我应该使用哪个 Control 吗?

【问题讨论】:

为什么要重新发明***? Be.HexEditor 有一个可重复使用的 hexbox 控件。 不幸的是 Be.HexEditor 是 Windows 窗体应用程序,而不是 WPF 我知道 WindowsForms 控件可以托管在 WPF 中,我什至设法做到了。不幸的是,如果 WPF 中的 WindowsHostedControl 存在 Z-Position 的已知问题。因此,最好能提示一下 WPF 中可以使用哪个控件来构建类似的应用程序 【参考方案1】:

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

否则,我可能会推荐DataGrid 用于这种表格查看和输入。如果你在 google 上搜索,会有很多示例和教程(如 this one)。

【讨论】:

【参考方案2】:

您可以查看我的项目。 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"/>

【讨论】:

您需要披露这是您要链接的项目。见the help center 我该如何披露:) 我们有相同的 .net 4.6.1 版本的 HexEditor 吗? 您可以在项目文件中添加 NET45 或 NET461 并构建项目。 :)

以上是关于哪个控件可以构建十六进制编辑器?的主要内容,如果未能解决你的问题,请参考以下文章

Unicode 符号代码的简单总和

为静态构建编辑 Makefile

自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果

Qt入门系列开发教程基础控件篇QLCDNumber数码管类型控件

理工21岁男开源的十六进制编辑器爆赞

16进制文件编辑器Ultraedit的下载地址