我想我遇到了一个非常简单的问题,但我找不到解决它的方法
我基本上想创建一个功能区选项卡,其中包含类中的所有内容:
class RibbonTabHome
{
public RibbonTab RibbonTab_Container;
public RibbonTabHome()
{
RibbonTab_Container = new RibbonTab() { Header = "Wont appear!" };
}
}
然后我调用该类并将选项卡添加到功能区:
public MainWindow()
{
InitializeComponent();
RibbonTabHome asd = new RibbonTabHome();
RibbonMain.Items.Add(asd.RibbonTab_Container);
}
由于某些原因,只添加了选项卡容器本身,缺少标题文本!
然而,这句话做得很完美!
RibbonMain.Items.Add(new RibbonTab() { Header = "Appearing"});
我错过了什么?
致以最良好的问候!
我缺少什么?
看来你错过了很多。WPF只是而不是那样写。在WPF中,我们操作数据元素,而不是UI元素。我们声明的DataTemplate
定义了数据在UI中的呈现方式,因此要在TabControl
中添加新的TabItem
,您需要将新的data项添加到data集合中,该集合是绑定到TabControl
的ItemsSource
属性的数据。
因此,可以从类创建RibbonTab
,但这些类不会手动构建UI元素,而是为控件提供数据。例如,要添加一个Button
,您需要一个具有两个string
属性的类来数据绑定到Button.Content
和ToolTip
属性。它还需要一个ICommand
属性来数据绑定到实际的Command
属性。要添加新的Button
,只需将其中的另一个类添加到相关集合中即可。
至于什么课程在什么集合中,这是一个很长的故事。幸运的是,数据绑定RibbonTab
控件的主题已经在网上得到了广泛讨论,因此您将有很多好的来源。别忘了MSDN是一个很好的资源。。。功能区概述页面中有大量相关链接。