C# 呈现WPF网络地图/图形布局-手动?路径列表框?还有别的吗?
我正在编写代码,为用户提供一个简化的网络图。在任何给定的时间,地图都集中在一个特定的项目上。。。比如说路由器或服务器。根据聚焦项,其他网络实体被分组到集合(即子网或域)中,然后围绕聚焦项进行渲染。线代表连接,组可视地分组在矩形或椭圆内 平移和缩放是必需的功能 可以选择项目以在“属性”样式窗口中显示更多信息。还可以双击某个项目,将整个网络地图重新聚焦到该项目上。此时,整个地图将重新计算 到目前为止,我使用的MVVM没有任何框架。假设对项目进行分组并确定应该显示什么或不显示什么的逻辑都已就绪 我正在寻找实现UI布局的最佳方法。到目前为止,我知道以下选项:C# 呈现WPF网络地图/图形布局-手动?路径列表框?还有别的吗?,c#,.net,wpf,layout,mvvm,C#,.net,Wpf,Layout,Mvvm,我正在编写代码,为用户提供一个简化的网络图。在任何给定的时间,地图都集中在一个特定的项目上。。。比如说路由器或服务器。根据聚焦项,其他网络实体被分组到集合(即子网或域)中,然后围绕聚焦项进行渲染。线代表连接,组可视地分组在矩形或椭圆内 平移和缩放是必需的功能 可以选择项目以在“属性”样式窗口中显示更多信息。还可以双击某个项目,将整个网络地图重新聚焦到该项目上。此时,整个地图将重新计算 到目前为止,我使用的MVVM没有任何框架。假设对项目进行分组并确定应该显示什么或不显示什么的逻辑都已就绪 我正在
- 对我来说,高度手工布局。很多计算
- 我必须手动处理项目选择
- 连接线的计算是手动的
- 我可以根据需要(手动)在子网之间绘制其他线
- 稍后可以添加其他LayoutManager以不同方式呈现显示
- 这可能被包装成某种GraphLayout控件,以便重新使用
- 跨多个“PathListBox”同步所选项目。一次只能选择整个图形上的一个项目,但每个子PathListBox都保留自己的选择。此外,无法选择子网,但无需额外工作即可选择
- 在ListBoxItem模板中绘制连接线有点麻烦,因为我需要知道要连接到的焦点项目的正确一侧
- 我可以远离版画行业,还有更多
我正在从其他遇到类似问题或比我有更多WPF经验的人那里寻求任何建议或想法。我正在使用WPF 4,因此任何新的技巧都是合法的和受鼓励的。我想看看开源应用程序。这是一个家谱应用程序,它以一种非常类似于您所描述的方式绘制家庭成员之间的关系。我猜那里的代码可以帮你实现90%的目标。很好的例子。。。谢谢你指出这一点。现在我只需要弄清楚如何将他们的想法转化为MVVM体系结构。