XAML 如何在GraphX中设置边缘标签

mzmfm0qo  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(172)

我正在Winform项目中使用GraphX。我试图显示边缘以外的标签。我想知道我必须设置什么属性才能在标签中显示一些文本。
我已尝试设定DataEdge的'Text'属性,然后呼叫

ShowAllEdgesLabels(true);

但是它不是这样工作的。通过浏览论坛,我发现WPF有一种方法可以将此属性绑定到可视控件。XAML代码如下所示

<gxl:EdgeLabelControl x:Name="PART_edgeLabel" Content="{Binding Edge.Text, RelativeSource={RelativeSource TemplatedParent}}" />

现在的问题是什么是Winform的等价物来实现这个功能。

ojsjcaue

ojsjcaue1#

我在GraphX(PantheR)主机的管理员的帮助下找到了一个解决方案。
基本上,我们需要在Windows窗体中添加hostController for WPF。我们需要在resources文件夹中添加一个自定义XAML模板。我们需要在初始化图形之前,将XAML作为新资源加载到代码中。我们需要添加一行代码来合并资源。
然后在XAML代码中,我们按照问题中提到的那样进行绑定。
这个解决方案的缺点是,我们需要为程序提供一个XAML资源文件,但那只是另一个资源(在我看来)。

tjjdgumg

tjjdgumg2#

对于任何需要一些参考代码从@ResVic的答案:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:graphx="http://schemas.panthernet.ru/graphx/"
    xmlns:local="clr-namespace:YOUR_NAME_SPACE">
    ...
    <Style TargetType="{x:Type graphx:AttachableEdgeLabelControl}">
        <Setter Property="ShowLabel" Value="False" />
    </Style>
    ...
</ResourceDictionary>

Showcase演示对弄清楚lib可以做什么以及如何调整它来工作有潜在的帮助。

相关问题