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

标签 c# wpf wpf-controls

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

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

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

最佳答案

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

<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; 
}

关于c# - 如何在 WPF 中设置功能区窗口的用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3921934/

相关文章:

c# - 如何在具有父子关系的 2 个 wpf 控件之间使用 SharedSizeScope?

c# - 导航 MVVM

c# - DNX Core 5.0 中的 Thread.MemoryBarrier() 和其他内存栅栏功能

c# - 使用 Fluent API 在遗留数据库中建立一对一关系的复合外键

.net - .NET SDK 是否不向后兼容旧的运行时?

WPF TreeMap 库?

wpf - DataGrid 从 v. 3.5sp1 (ToolKit) 到 .Net 4.0 的更改

CommandManager 的 WPF 性能问题

c# - Dynamics crm 2013 c# 插件更新/更改其用户设置中的系统用户时区

WPF 选项卡控件 : Setting Tab Color?