2010-06-08 92 views
2

我剛剛進入Silverlight世界,並希望我沒有先學習WPF,所以我不會對缺少的小東西感到沮喪。我使用的命令(RoutedUICommand)爲我的視圖/用戶界面來處理「事件」(事件我指的是用戶做的事),並將它們傳遞給視圖模型。Silverlight通信/命令/事件?視圖和視圖模型之間?

現在在silverlight,我發現我不能這樣做,最重要的是似乎沒有達成共識。我不喜歡把代碼放在我的代碼隱藏的視圖中,但是我一直在發現自己必須這樣做,除非我願意在我使用的每個用戶控件附近繼承該子類。或者爲一行代碼隱藏語句寫入一百萬行xaml。

即使如此,我不知道如果我應該使用事件,命令或什麼似乎最適合我LocalMessageSender/LocalMessageReceiver。

底線,是否有一個普遍接受的方法是什麼必須是一個非常普遍的情況:告訴viewmodel用戶做了什麼?

哦,即時消息使用SL 4,如果有關係。

回答

1

有什麼必須是非常普遍的情況下被普遍接受的方法:告訴viewmodel用戶做了什麼?

是它的調用綁定。

當談到按鈕點擊Silverlight 4中,你應該尋找在暴露你的視圖模型具有類型ICommand的屬性,你就可以對之類的東西ButtonCommand財產使用標準Binding

+0

謝謝, 這就是我害怕的: 這是我採取這種方法時的問題。 說這個按鈕是在一個列表框中,按鈕點擊工作正常,並且命令正確觸發了,但是它截獲了點擊,所以這個項目不會在列表中被選中。 也我有一噸的控制,基本上是幾何行爲像按鈕,我需要響應點擊.... 該死的我的大腦被困在WPF世界。猜猜這裏有代碼重用,除非我想到一個聰明的子類/或附加屬性方案 – 2010-06-08 17:11:23

相關問題