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?
Aber wie kann ich das in meinem .xaml implementieren, wenn ich habe zwei Kontrollkästchen mit zwei verschiedenen Rahmen? –