2010-06-30 95 views
0

我的應用程序中有一些帶有一些按鈕和選項卡和幾個模塊的外殼。每個模塊都有一個包含datagrids,stackpanels,文本框等元素的視圖。它們都有一個name屬性。現在當我在shell上觸發一個事件時(比如點擊一個按鈕),我希望能夠使用這些元素(例如清除用戶在提供的文本框中寫入的所有信息)。問題是,shell沒有看到這些元素,也無法識別它們。有沒有辦法訪問它們?從外殼訪問視圖元素的WPF棱鏡

感謝您的任何建議。

回答

1

我建議你採取類似於Stocktrader參考實現與CompositeCommands一樣的方法。基本上,CompositeCommand是ICommand的一個實現,它包含其他ICommand的集合。在RI中,CompositeCommands作爲靜態屬性公開在集中可用的類上。

就你而言,你可以有一個複合ClearCommand。 shell的視圖模型會將這個視圖暴露給shell視圖,以便您可以將Clear按鈕連接到它。然後

用於各種模塊的的ViewModels會鉤入此ClearCommand:

GlobalCommands.ClearCommand.RegisterCommand(new DelegateCommand(x => ClearAllFields()));