2016-07-13 1 views
0

Hallo und vielen Dank für das Lesen und vielleicht hilft :-)Tabcontrol mit verschiedenen Seiten (in XAML oder externe Seite enthalten) als TabContent

Mein Code unten mit Aussagen.

Ich habe meine MainWindow.xaml in der ich meine CheckBox und TabControl habe.

<CheckBox Grid.Column="8" Grid.Row="2" Name="checkBoxCommon" HorizontalAlignment="Right" VerticalAlignment="Center" IsChecked="{Binding IsCheckedCommon}"/> 

    <Grid Grid.Column="0" Grid.ColumnSpan="10" Grid.Row="4"> 
    <TabControl ItemsSource="{Binding Path=DpConfigCol> 
    <TabControl.ItemTemplate> 
     <DataTemplate> 
      <ContentControl Content="{Binding Path=DpConfigName}> 
       <ContentControl.Resources> 
        <DataTemplate DataType="types:ConfigCommon"> 
        </DataTemplate> 
        <DataTemplate DataType="types:ConfigAdress"> 
        </DataTemplate> 
       </ContentControl.Resources> 
      </ContentControl> 
     </DataTemplate> 
    </TabControl.ItemTemplate> 
    <TabControl.ContentTemplate> 
     <DataTemplate> 
      <ContentControl> 
       <ContentControl.Resources> 
        <DataTemplate DataType="types:ConfigCommon"> 
         <TextBlock Text="hallo" Width="150"/> 
        </DataTemplate> 
        <DataTemplate DataType="types:ConfigAdress"> 
        </DataTemplate> 
       </ContentControl.Resources> 
      </ContentControl> 
     </DataTemplate> 
    </TabControl.ContentTemplate> 
</TabControl> 

Wenn ich meine Checkbox ankreuze, wird ein neues Modell zu meiner ObservableCollection() hinzugefügt.

private bool _isCheckedCommon; 
public bool IsCheckedCommon 
{ 
    get { return _isCheckedCommon; } 
    set 
    { 
     _isCheckedCommon = value; 

     if (_isCheckedCommon == true) 
     { 
      DpConfigCol.Add(new ConfigCommon("Common")); 
     } 
     else 
     { 
      foreach (object item in DpConfigCol) 
      { 
       if (item.GetType().ToString()==typeof(ConfigCommon).FullName.ToString()) 
       { 
        DpConfigCol.Remove(item); 
        break; 
       } 
      } 
     } 
     return; 
    } 
} 

Ich habe eine Bindung an meine tabcontrol mit dieser Sammlung DpConfigCol genannt.

Und jetzt meine Frage:

Wie kann ich die Eigenschaften machen (aus meinem Modell: ConfigCommon) sichtbar in meinem tabcontrol.ContentTemplate? Wenn es mehr als eine Checkbox mit noch mehr Modellen gibt? Gibt es eine Möglichkeit, in diesem Tabcontrol.contentTemplate mehr als ein Template für mehr als ein Modell zu implementieren?

Antwort

0

TLDR; (lesen Sie nur den Titel)

Ich musste auch eine App entwickeln, die Tabs einmal verwendet. Sie können <Frame> in Ihrem Tabs nutzen und dessen Content auf das, was Sie wollen XAML page

+0

Aber wie kann ich das in meinem .xaml implementieren, wenn ich habe zwei Kontrollkästchen mit zwei verschiedenen Rahmen? –

Verwandte Themen