Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Почему не работает ControlTemplate?


Автор: DenWPF 11.6.2011, 01:18
Код

((ContentControl)(tabItem.Content)).Content ==    null

((ContentControl)(((ContentControl)(tabItem)).Content)).ContentTemplate == null


Хотя этого не должно быть. Вот код где это просиходит, в чем может быть причина.


Код

    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);




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>




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)