這個問題與前一個hereC# - WPF - 連接代碼隱藏與XAML元素
一點連接一般來說,我寫一個應用程序,允許用戶創建自己的圖形,然後得到的最短路徑。我得到了圖形表示的困惑。
我很少使用XAML,也不知道如何使用XAML代碼連接代碼隱藏方法。
我得到了畫布點擊鼠標的座標,它的偉大工程
private void mouseDoubleClick(object sender, MouseButtonEventArgs e)
{
int x = (int)e.GetPosition(dataCanvas).X;
int y = (int)e.GetPosition(dataCanvas).Y;
currentMap.CreateNodes(x, y, "ExampleNode");
targetText.Text = x.ToString() + "X " + y.ToString() + "Y "; // Just for debugging
}
這裏是CreateNode定義:
public void CreateNodes(int x, int y, string name)
{
Node node = new Node(name);
this.places.Add(node);
node.X = x;
node.Y = y;
GUI.CreateNode(node);
}
但問題還在這裏
//GUI class
public static void CreateNode(Node n)
{
Point point = new Point(n.X, n.Y);
}
這方法應該在特定的(x,y)位置繪製圖像。 我有座標,必須以某種方式在那裏創建一個圖像。 正如我所說我不是使用XAML的通量,也不知道如何將此代碼與調整XAML中的畫布連接以創建和操作圖像。
我得到一個鏈接here
,但我不知道如何在我的項目中使用它。我應該創建一個ObservableCollection,然後使用鏈接中的代碼...?
任何幫助,將不勝感激。
這裏有接口:here
非常感謝您對這個問題的答案,我會檢查庫和鏈接。節點類是必要的,因爲整個尋路算法都適用於它。在WinForms中創建它真的很容易,但是WF是過去的,所以我決定在WPF中創建它。肯定會出現問題,所以我會回來這裏問:)其實我已經有一個:在幾乎每個與WPF相關的地方都有一些MVVM模式。我只是好奇它是否真的被廣泛使用,以及它是否像它看起來那麼複雜。 – pablocity
MVVM通常是WPF開發的標準。如果你使用WPF,這絕對值得學習。基本概念相對簡單,但你需要做一些閱讀。我在你的[其他問題]中添加了幾個教程的鏈接(http://stackoverflow.com/questions/38192845/wpf-c-sharp-creating-and-setting-image-coordinates-in-code-behind) – Tone
讓我在下面的答案中詳細解釋一下。我會編輯我的帖子,所以看看那裏。 –