私はhttp://graphsharp.comのビデオ チュートリアルに従って、graph# ライブラリを WPF で使用する方法を説明しました。いくつかの頂点とそれらを結合するエッジを見つけるのは非常に簡単でした。このグラフのコードは、メソッドのMainWindow
前にInitializeComponent
メソッドで呼び出されるメソッドで記述されているため、コンパイルすると、グラフが自動的に表示されます。問題は、メソッドで描画の同じメソッドを呼び出そうとしたことですがbutton_click
、ボタンをクリックするたびに何も表示されません。
これが私のコードです
public partial class MainWindow : Window
{
private IBidirectionalGraph<object, IEdge<object>> _graphToVisualize;
public IBidirectionalGraph<object, IEdge<object>> GraphToVisualize
{
get { return _graphToVisualize; }
}
public MainWindow()
{
//CreateGraphToVisualize(); //When compiling with this instruction uncommented, the graph is drawn
InitializeComponent();
}
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[1]));
g.AddEdge(new Edge<object>(vertices[1], vertices[4]));
_graphToVisualize = g;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
CreateGraphToVisualize();
}
}
}