哪个控件可以构建十六进制编辑器?
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 并构建项目。 :)以上是关于哪个控件可以构建十六进制编辑器?的主要内容,如果未能解决你的问题,请参考以下文章
自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果