C# 如何在WPF中为功能区窗口设置usercontrol?

C# 如何在WPF中为功能区窗口设置usercontrol?,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,首先,我创建了一个WPF应用程序,然后向该应用程序添加了新的RibbonWindows,并将其命名为RibbonWindow1。现在,我想通过下面的代码设置ribbon控件的内容,并显示ribbon: RibbonWindow1 ribWindow = new RibbonWindow1 { Title = "This is a ribbon window", Content = new UserContr

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

 RibbonWindow1 ribWindow = new RibbonWindow1
            {
                Title = "This is a ribbon window",
                Content = new UserControl1()
            };
            ribWindow.ShowDialog();
但是我看不到色带条。如果我删除内容,功能区将显示,如果我使用拖放,我也可以显示,但我想通过简单的代码动态地执行。
如果我可以将相关控件停靠在特定的网格单元中,这将对我有所帮助。有什么建议吗?

在我使用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>

在我使用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>

您不能将控件添加到功能区窗口,您需要将它们添加到RibbonTab中的RibbonGroup。您能解释一下您的意思吗?正如我所看到的,ribbon组没有任何属性可设置,如果您使用拖放,控件将被放置到RibbonWindow的网格中,而不是RibbonGroup或ribbontab的相关项中。您不能将控件添加到ribbon窗口,您需要将它们添加到ribbontab中的RibbonGroup。您能解释一下您的说法吗?正如我所见,ribbon组没有任何属性可设置,如果使用拖放,控件将被拖放到RibbonWindow的网格中,而不是RibbonGroup或ribbontab的相关项中。嗨,michele,很抱歉响应太晚,目前我没有处理此问题,我第一次切换,我会读你的答案:你能在你有这个问题的地方提供一段代码吗?也许XAML+代码更具描述性;嗨,michele,很抱歉反应太晚,目前我还没有做这个,第一次切换时,我会读你的答案:你能提供一段你有这个问题的代码吗?也许XAML+代码更具描述性;