2011-03-03 73 views
2

我正在構建基於MVVM的WPF應用程序,我面臨一些問題: 我需要根據來自模型的信息構建UI,例如 我的模型包含進程列表(從XML文件加載 - 動態),每個進程包含信息(名稱,圖標路徑等)。 foreach過程我需要建立一個單一的按鈕(顯示相對應的進程信息),爲了做到這一點,我需要檢索從viewModel到UI的進程列表(爲了執行實際的UI構建),這將強制UI引用進程容器...並且將打破MVVM。通過MVVM動態UI模式

有人有任何想法如何實現這個沒有打破MVVM?

很多謝謝。

+0

您不必使用MVVM每一個場景。事件驅動模型有時對某些情況更好。結帳這個論壇帖子http://forums.silverlight.net/forums/t/127825.aspx閱讀Laurent R.談論MVVM的地方。他是製作MVVM Toolkit的人。無論如何,對不起,這不是一個答案,但只是給你一個領導。 :) –

回答

7

使用綁定到ViewModel集合的ItemsControl。在ItemsControl內定義一個DataTemplate,它基本上是一個基於每個進程構建您的Button的包裝。

<ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Button Content="{Binding ProcessName}"/> 
    </DataTemplate> 
    </ItemsControl.ItemTemplate>