0
我正在製作一個自定義控件,它是一個可展開/可摺疊面板,然後我可以使用其他控件進行填充。我不確定如何將expand/collapse命令掛鉤到按鈕。WPF命令和自定義控件
我用這個來獲取面板聽:
CommandManager.RegisterClassInputBinding(GetType(Button), New InputBinding(ToggleBtnCommand, New MouseGesture(MouseAction.LeftClick)))
CommandManager.RegisterClassCommandBinding(GetType(Button), New CommandBinding(ToggleBtnCommand, AddressOf btnToggleState))
這個工作,只要我只用每個窗口一個面板。如果我使用更多面板,當按下按鈕時,所有面板都會展開或摺疊。我怎樣才能讓控件明白只有包含按鈕的按鈕(「命令觸發器」)才能聽命令?
在你的ToggleBtnCommand中(它真的由by,但我個人從名稱中刪除Btn,因爲命令是UI不可知的) - 執行處理程序,您將ExecutedRoutedEventArgs作爲secong參數,您可以說OriginalSource是否是「本地」命令。 – 2011-12-13 13:09:22
我想嘗試的另一件事是劫持標準Expender控件,你可以調整它到一個幾乎無法辨認的狀態:) – 2011-12-13 13:12:13
@Dmirty:好點,但你應該發佈爲「答案」,而不是「評論」 – David