如何将tabcontrol绑定到多个用户控件

时间:2013-04-24 07:28:52

标签: wpf tabcontrol

我想将TabControl绑定到用户控件,以便在TabItem中包含每个用户控件。

这是否可行,知道TabControl本身是否在UserControl中?

这是UserControl中的Dependency属性:

public IList<UserControl> ListUserControls
    {
        get { return (IList<UserControl>)GetValue(ListUserControlsProperty); }
        set { SetValue(ListUserControlsProperty, value); }
    }

    // Using a DependencyProperty as the backing store for ListUserControls.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty ListUserControlsProperty =
        DependencyProperty.Register("ListUserControls", typeof(IList<UserControl>), typeof(NavigationPane), new PropertyMetadata(new List<UserControl>()));

在MainWindow中,UserControl在哪里:

<pyRGC:NavigationPane.ListUserControls>
    <pyRGCTest:UC_1 />
</pyRGC:NavigationPane.ListUserControls>

当我对此进行编码时,它会显示:“预计会出现以下类型:”IList'1“”。 我没有找到如何在XAML中使用IList。

我该怎么办?

由于

1 个答案:

答案 0 :(得分:0)

由于您希望显示固定数量的标签但未使用MVVM,因此您必须在TabControl而不是XAML中提供Binding项。

示例代码如下:

<TabControl>
    <TabControl.Items>
        <TabItem Header="Tab One">
            <local:UserControl1 />
        </TabItem>

        <TabItem Header="Tab Two">
            <local:UserControl2 />
        </TabItem>
    </TabControl.Items>
</TabControl>