我的WPF項目有一個帶有多個按鈕和一個框架的主窗口。我在框架中顯示頁面,上面的按鈕使用路由命令來調用下面頁面中的方法。和我一起到目前爲止?使用帶有幀的路由命令時的問題
一切正常,直到我改變頁面。儘管這個新頁面有與這些命令相關的方法,但似乎路由命令仍在尋找上一頁中的方法。我不知道爲什麼當我在命令中設置typeof()參數時發生這種情況:
public static RoutedCommand cmd = new RoutedCommand("Foo", typeof(BarPage));
我該如何解決這個問題?我注意到,將焦點放在新選擇的頁面上的文本框中會糾正一些事情,但這不是一個可行的解決方案,因爲頁面並不總是包含字段。我也嘗試將重點放在頁面上,但問題仍然存在。
在此先感謝。
不知道它是否有幫助,但可以在新頁面加載後嘗試調用CommandManager.InvalidateRequerySuggested()。默認情況下,命令管理器僅在某些情況下檢查CanExecute。也許頁面導航不能正確觸發。 – NathanAW
你在哪裏定義了CanExecute和Execute的處理程序? – vrrathod
我現在已經對問題進行了排序 - 請參閱我在[標記的答案]中的評論(http://stackoverflow.com/questions/6584720/issue-when-using-routed-commands-with-a-frame/6589576#6589576 ) 更多細節。非常感謝你的幫助。 – Jonathan