我正在尝试创建一个包含选项卡控件的用户控件。
我的问题是,如何通过用户控件公开选项卡控件以便我们可以添加选项卡?
整个控件将包含三个区域:顶部的命令按钮、选项卡控件和显示消息的样式文本块。
命令按钮将可配置为依赖属性,因此我们可以在使用用户控件时选择显示或不显示应用按钮。我严格来说是一名设计师而不是开发人员,所以我试图让我的脚湿透来构建这个控件,但我有点过头了。
对于我想要完成的工作,我没有任何问题可以启动 XAML,只是很难使其可重用。
到目前为止我已经尝试过的更多细节(还没有在答案中尝试过任何东西)。
我试图添加一个依赖属性来公开 tabcontrol itemssource 的集合:
public IEnumerable<object> TabSource
{
get { return (IEnumerable<object>)GetValue(TabSourceProperty); }
set { base.SetValue(FunctionPanel.TabSourceProperty, value); }
}
public static DependencyProperty TabSourceProperty = DependencyProperty.Register(
"TabSource",
typeof(IEnumerable<object>),
typeof(FunctionPanel));
然后在用户控件 XAML 中绑定到它:
<TabControl Grid.Row="1" ItemsSource="{Binding TabSource}" />
最后,我想像这样在窗口 XAML 中使用它:
<local:FunctionPanel>
<local:FunctionPanel.TabSource>
<TabItem Header="Test" />
</local:FunctionPanel.TabSource>
</local:FunctionPanel>
但这返回的 TabSource 无法识别或无法访问。我将尝试下面提供的解决方案。