我有一些麻煩試圖動態生成WPF中的內容和綁定數據後。綁定DataTemplates(或另一個aparach)
我有以下情形: TabControl的 - 通過的DataTemplate 動態生成的TabItems - 內的TabItems,我具有由產生的DataTemplate動態內容,我希望綁定(列表框)。
的代碼如下:
:: TabControl的
<TabControl Height="252" HorizontalAlignment="Left" Name="tabControl1" VerticalAlignment="Top" Width="458" Margin="12,12,12,12" ContentTemplate="{StaticResource tabItemContent}"></TabControl>
::模板進行的TabControl生成的TabItems
<DataTemplate x:Key="tabItemContent">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ListBox ItemTemplate="{StaticResource listBoxContent}" ItemsSource="{Binding}">
</ListBox>
</Grid>
</DataTemplate>
::裏面每個TabItem的
的模板列表框<DataTemplate x:Key="listBoxContent">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="22"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding Path=PluginIcon}" />
<TextBlock Grid.Column="1" Text="{Binding Path=Text}" />
</Grid>
</DataTemplate>
所以,當我嘗試做這個代碼在一個循環中創建的TabItems:
TabItem tabitem = tabControl1.Items[catIndex] as TabItem;
tabitem.DataContext = plugins.ToList();
其中「插件」是一個可枚舉
列表框是無界。 我也試着找到TabItem中的ListBox來設置ItemSource屬性,但沒有成功。
有人有關於如何做到這一點的想法? 在此先感謝。
非常感謝雷。有效! – 2010-06-14 17:26:27