我試圖瞭解Windows應用商店示例中的示例遊戲之一是如何工作的。具體來說這一個Windows應用商店應用中的PropertyPaths和綁定
http://code.msdn.microsoft.com/windowsapps/Reversi-XAMLC-sample-board-816140fa
我瞭解大部分的怎麼回事(我認爲),但我真的不知道怎麼回事就在這裏:
boardSpace.SetBinding(BoardSpace.SpaceStateProperty,
new Binding { Path = new PropertyPath(String.Format("[{0},{1}]", row, column)) });
我不明白的PropertyPath是什麼完全綁定。它似乎在形成一些2D數組,因此它將SpaceStateProperty從遊戲模型視圖綁定到此PropertyPath,但[0,1]或[2,2]如何轉換爲某個特定的實例或路徑?
下一行更有意義: boardSpace.SetBinding(BoardSpace.CommandProperty, new Binding {Path = new PropertyPath(「MoveCommand」)});
這些綁定BoardSpacebutton CommandProperty到MoveCommand代表這是在GameViewModel
暴露現在我發現一個函數多數民衆贊成暴露這樣
public BoardSpaceState this[String index]
請問屬性路徑被綁定到這個功能因爲它需要一個字符串,而PropertyPath只是一個字符串[x,y]?它如何知道?
我覺得我錯過了PropertyPath工作方式的一個細微部分,但閱讀文檔並沒有多大意義。
我感謝所有幫助