2012-09-03 92 views
-1

我想創建一個可定製的ListBox,從某種意義上說,我希望在運行時選擇顯示綁定集合中的哪些項目。就像:以編程方式將DataTemplate插入另一個DataTemplate

<CustomizedListBox Format="[Name][Age]"/> 

我有一個ItemTemplateSelector,它可以很好地生成一個For循環中的內容。但現在的故事是,我想爲XAML中列表的不同部分預定義DataTemplates,然後將它們合併到ItemTemplateSelector中。所以我的目標是要有這些定義:

<DataTemplate x:Key="Name"> 
    <TextBlock Text="{Binding Name, StringFormat='Name: {0}'}"/> 
</DataTemplate> 
<DataTemplate x:Key="Age"> 
    <TextBlock Text="{Binding Age}" HorizontalAlignment="Right"/> 
</DataTemplate> 

然後以編程方式將它們組合。

我的問題是,在XAML中生成的數據模板的VisualTree是空 - 顯然,WPF「使用不同的機制」。我無法使用LoadContent - 因爲我不想實例化模板。

是我想要的嗎?

+0

我也許不明白你的問題。你爲什麼不爲你的數據類型創建一個DataTemplate,它包含兩個引用你的Name和Age DataTemplates的ContentControls?這聽起來是你試圖對付框架而不是使用它。 – dowhilefor

+0

因爲這應該是一個動態的用戶控制列表。上面的「Format」屬性是一個依賴項屬性,最終在一個TextBox中結束。 – MikNik

回答

相關問題