2012-05-28 43 views
0

是否有可能在wpf控件的xaml中有多個項目源綁定。WPF中的多個綁定

當前我正在使用mvvm模式並具有綁定到一個對象類型的項綁定。

ItemSource="{Binding ProcessModel}" 

這於是具有的ItemTemplate

ItemTemplate="{DynamicResource PMDataTemplete}" 

這目前,因爲我是僅使用一種類型的對象的是細。我想擴展這個,所以我可以有一個或第二個不同類型的對象,但它不需要能夠同時綁定到兩個對象。

我想要實現的是一種對象類型可以被綁定的情況,這取決於用戶選擇的內容以及綁定的工作方式,如果用戶採用不同的路由,另一種類型的對象在同一個對象上顯示控制。

因此,幾乎是基於itemsource的對象類型的case語句。

回答

1

編寫自己的ItemTemplateSelector(更靈活,但更復雜)或爲需要在ItemsControl中呈現的類型定義數據模板。

+0

謝謝你看起來像一個很好的解決方案,我有一個問題如何與mvvm中的ItemSource一起工作,在我的問題我綁定到一個對象類型的列表,但我需要兩個? – user101010101

+0

當ItemsControl需要渲染項目時,它確定項目的類型,然後查找資源中定義的數據模板。如果無法找到數據模板,則控件檢查ItemTemplateSelector,並嘗試從選擇器獲取模板。這並不意味着,你正在使用哪種方法 - MVVM與否。此外,它並不意味着ItemSource中的對象的類型(和多少) - 您可以綁定到列表並填寫您需要的所有內容。 – Dennis

0

有兩種選擇:

  1. 可以定義爲不同類型的DataTemplates。
  2. 您可以按照Dennis所述編寫DataTemplateSelector。