après le code:Pourquoi ne pouvez-vous pas utiliser ControlTemplate?
var roomTable = from desks in context.RoomToStandartDesks
where desks.id_room == room.id
select desks.Desk;
var tabItem = new TabItem
{
DataContext = roomTable,
Header = headerText,
};
if (controlTemplate == null)
tabItem.Content = (object)roomTable;
else
tabItem.Content = new ContentControl { Template = controlTemplate };
tabItems.Add(tabItem);
((ContentControl)(tabItem.Content)).Content
null ==
((ContentControl)(((ContentControl)(tabItem)).Content)).ContentTemplate
null ==
et XAML ControlTemplate:
<ControlTemplate x:Key="MyTabItemContentTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=x}"/>
<ItemsControl ItemsSource="{Binding DataContext, Converter={StaticResource KeySimplyConvert}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas Margin="10" Background="AliceBlue" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border>
<Border.RenderTransform>
<TranslateTransform X="{Binding x, Mode=TwoWay}" Y="{Binding y, Mode=TwoWay}"/>
</Border.RenderTransform>
<Managerer:TablePanel DataContext="{Binding}" />
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ControlTemplate>
Pourquoi? A utiliser Silverlight 4.
err ... pourquoi quoi? Qu'est-ce qui échoue? – AllenG
ContentTemplate == null; Pourquoi cela pourrait-il arriver? avant je l'ai fait, presque la même chose et cela a fonctionné. – Mediator