Tôi đang sử dụng WPF với biểu đồ # thư viện và tôi đang cố gắng vẽ biểu đồ dưới dạng chuỗi tuyến tính, vì vậy tôi đã xác định một số đỉnh và các cạnh nối nhưBiểu đồ trong WPF sử dụng biểu đồ # không được vẽ như một chuỗi
new Edge<object>(vertices[i], vertices[i+1])
Nhưng vấn đề là đồ thị kết quả không được rút ra như mong đợi, nó giống như sau:
1 -> 2 -> 3 -> 1-> 4
Trong các từ khác, đỉnh 3 đi qua đỉnh 1 để tới đỉnh 4.
Dưới đây là đoạn code của phương pháp vẽ
private void CreateGraphToVisualize()
{
var g = new BidirectionalGraph<object, IEdge<object>>();
// add the vertices to the graph
string[] vertices = new string[5];
for (int i = 0; i < 5; i++)
{
vertices[i] = i.ToString();
g.AddVertex(vertices[i]);
}
// add edges to the graph
g.AddEdge(new Edge<object>(vertices[0], vertices[1]));
g.AddEdge(new Edge<object>(vertices[1], vertices[2]));
g.AddEdge(new Edge<object>(vertices[2], vertices[3]));
g.AddEdge(new Edge<object>(vertices[3], vertices[4]));
GraphToVisualize = g;
}
Và đây là một phần của mã XAML liên quan đến đồ thị #
<DockPanel Grid.Row="2" Margin="10,10,13,10">
<zoom:ZoomControl>
<graphsharp:GraphLayout x:Name="graphLayout"
Graph="{Binding ElementName=root,Path=GraphToVisualize}"
LayoutAlgorithmType="FR"
OverlapRemovalAlgorithmType="FSA"
HighlightAlgorithmType="Simple"/>
</zoom:ZoomControl>
</DockPanel>
Tôi đã thử đoạn code bạn đã dán trên và tôi không thể tái tạo tại địa phương - tôi nhận được '0 -> 1 -> 2 -> 3 -> 4' như mong đợi. –
Mã bạn đã dán hoạt động chính xác. Bạn đang sử dụng phiên bản mới nhất? –