具有不同页面的Tabcontrol(包含在xaml或extern页面中)作为tabcontent

时间:2016-07-13 05:49:13

标签: c# wpf xaml mvvm tabcontrol

您好,感谢阅读,也许还有帮助: - )

我的代码如下,附有陈述。

我有MainWindow.xaml我的CheckBoxTabControl

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

如果勾选我的复选框,它会在我的ObservableCollection()添加新模型。

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

我使用名为tabcontrol的此集合绑定了我的DpConfigCol

现在我的问题是:

如何在我的ConfigCommon中显示属性(来自我的模型:tabcontrol.ContentTemplate)?如果有多个模型,有多个复选框? 有没有办法在Tabcontrol.contentTemplate多个模型中实现多个模板?

1 个答案:

答案 0 :(得分:0)

TLDR; (只读标题)

我还必须开发一个使用标签一次的应用程序。您可以在标签中使用<Frame>并将其Content设置为您想要的XAML page