C#图形单击时高亮显示顶点
当用户单击某个顶点时,我正在使用并试图突出显示该顶点 我注册了C#图形单击时高亮显示顶点,c#,wpf,graphx-net,C#,Wpf,Graphx Net,当用户单击某个顶点时,我正在使用并试图突出显示该顶点 我注册了VertexSelected事件: 公共类MyGraphArea:GraphArea { 公共MyGraphArea() { VertexSelected+=VertexSelected\u标记顶点; } 私有void VertexSelected\u MarkVertex(对象发送方,VertexSelectedEventArgs参数) { highlightbehavior.SetHighlighted(args.VertexCo
VertexSelected
事件:
公共类MyGraphArea:GraphArea
{
公共MyGraphArea()
{
VertexSelected+=VertexSelected\u标记顶点;
}
私有void VertexSelected\u MarkVertex(对象发送方,VertexSelectedEventArgs参数)
{
highlightbehavior.SetHighlighted(args.VertexControl,true);
}
}
但是UI中什么也没有发生。因此,我尝试添加多个选项:
在我添加的构造函数中:
enableVisualPropsaply=true;
HighlightBehavior.SetIshighLightabled(这是真的);
SetVerticesHighlight(true,GraphControlType.VertexAndEdge);
我还注册了Loaded
事件,并添加了以下代码:
foreach(VertexList中的变量项)
HighlightBehavior.SetIshighLightabled(item.Value,true);
然后,我在VertexSelected
事件中添加了一行SetVerticesHighlight(true,GraphControlType.VertexAndEdge)
,以防万一
但什么也没发生
我正在查看,找不到任何其他内容。我相信您只需要添加以下代码行:
Graph.SetEdgesHighlight(true, GraphControlType.VertexAndEdge);
Graph.SetVerticesHighlight(true, GraphControlType.VertexAndEdge, EdgesType.All);
我在玩WindowsFormsProject示例,在方法Form1.GenerateWpfVisuals()
的返回语句之前添加了这些行。我不需要订阅任何活动。但是,标准行为将在鼠标悬停时亮显顶点和边,而不是在鼠标单击时亮显
默认的金色
用于突出显示的颜色在模板中定义。xaml
:
<!-- VERTEX CONTROL -->
...
<Style.Triggers>
<Trigger Property="controls:HighlightBehaviour.Highlighted" Value="True">
<Setter Property="Background" Value="Gold"/>
<Setter Property="BorderThickness" Value="7"/>
</Trigger>
</Style.Triggers>
...
...
<!-- EDGE CONTROL -->
...
<Style.Triggers>
<Trigger Property="controls:HighlightBehaviour.Highlighted" Value="True">
<Setter Property="Foreground" Value="Gold"/>
<Setter Property="StrokeThickness" Value="5"/>
</Trigger>
</Style.Triggers>