如何在WPF中设置功能区窗口的usercontrol?

时间:2010-10-13 08:31:41

标签: c# wpf wpf-controls

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

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

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

1 个答案:

答案 0 :(得分:0)

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