代码之家  ›  专栏  ›  技术社区  ›  Saeed Amiri

如何在WPF中设置功能区窗口的用户控件?

  •  2
  • Saeed Amiri  · 技术社区  · 15 年前

    首先,我创建了一个WPF应用程序,然后向该应用程序添加了新的RibbonWindows,并将其命名为RibbonWindow1。现在,我想通过下面的代码设置功能区控件的内容并显示功能区:

     RibbonWindow1 ribWindow = new RibbonWindow1
                {
                    Title = "This is a ribbon window",
                    Content = new UserControl1()
                };
                ribWindow.ShowDialog();
    

    但是我看不到丝带酒吧。如果我删除内容,功能区将显示,如果我使用拖放,我可以显示它,但我想通过简单的代码动态地显示。 如果我可以将相关控件停靠在特定的网格单元中,它将对我有所帮助。有什么建议吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   michele    14 年前

    在我对RibbonWindow的小体验中,我看到Ribbon是RibbonWindow本身内容的一部分。因此,解决方案可以是为设置用户控件的功能区窗口公开一个公共方法,如下所示:

    <ribbon:RibbonWindow ...>
    <Grid x:Name="LayoutRoot">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
    
        <ribbon:Ribbon x:Name="Ribbon" />
        //add a container for your usercontrol
        <Grid Name="contentPlaceHolder" Grid.Row="1"></Grid>   
     </Grid>
    

    在代码中,您可以设置

    public void SetControl(UserControl uc)
    {
       this.contentPlaceHolder.Content = uc; 
    }