2010-01-18 21 views
4

請原諒,如果這是一個愚蠢的問題 - 我已經閱讀了WPF命令基礎設施上的十幾篇文章,而且我比以往更加困惑。WPF - 如何擴展(或與其並行)內置的命令機制?

我明白,我可以使用內置的命令來實現(例如),將採用標準的剪切/複製/粘貼功能將任何針對性文本框工具欄:

<ToolBar> 
    <Button Command="{x:Static ApplicationCommands.Cut}">Cut</Button> 
    <Button Command="{x:Static ApplicationCommands.Copy}">Copy</Button> 
    <Button Command="{x:Static ApplicationCommands.Paste}">Paste</Button> 
</ToolBar> 

但我想延長這種模式,以便可以使用單個工具欄在一系列不同的控件上調用相似(但不完全相同)的操作。例如,我可能會創建一個從ListBox派生的自定義控件,該控件還支持剪切,複製和粘貼操作。儘管對ListBox執行復制操作的方式與TextBox的執行方式不同,但它仍將從同一工具欄按鈕調用。

所以,我的問題是:

[1]需要什麼,爲了一個自定義的控制,它可以指揮在上面的例子中實現?具體來說,它應該可以從工具欄中發現。

[2]根據所關注控件的類型,工具欄中需要使用哪個標記來允許單個按鈕調用不同的命令?

非常感謝您提供的任何建議。

回答

0

與MVVM模式通用RelayCommands是創建一個WPF應用程序的最佳途徑。你可以閱讀關於它here。通過將datacontext指定爲命令的存在類,可以將這些命令綁定到任何控件。

標記只會使用Binding關鍵字而不是x:Static。

讓我知道這是否解決您的查詢。

Sushant。