【问题标题】:WPF window border acting weird with Ribbon ControlWPF 窗口边框在功能区控件中表现得很奇怪
【发布时间】:2014-02-10 09:58:16
【问题描述】:

我在 WPF 中使用 Ribbon 控件,我注意到有 2 个不同的版本。

  1. 使用 Microsoft.Windows.Controls.Ribbon;

    • 如果我在我的 xaml 和课程中使用这个,我的整个窗口将采用非常旧的窗口样式。
  2. 使用 System.Windows.Controls.Ribbon;

    • 如果我在我的 xaml 和课程中使用这个,我的 Ribbontabs 突然不能正确填充了。

当我同时使用它们时。有了这个:

<ribbon:RibbonWindow x:Class="WPSDashboard.Views.ShellWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ribbon="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"
        xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" 
        xmlns:prism="clr-namespace:Microsoft.Practices.Prism.Regions;assembly=Microsoft.Practices.Prism" 
        Title="WPSDashboard"
        x:Name="RibbonWindow"
        Width="640" Height="480">


    <Grid x:Name="LayoutRoot">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!-- Ribbon Region -->
        <r:Ribbon x:Name="Ribbon" prism:RegionManager.RegionName="RibbonRegion">
            <r:Ribbon.ApplicationMenu>
                <r:RibbonApplicationMenu SmallImageSource="Images\SmallIcon.png">
                    <r:RibbonApplicationMenuItem Header="Exit"
                                                      x:Name="MenuItemExit"
                                                      ImageSource="Images\Exit.png"
                                                      Command="{Binding ExitCommand}"/>
                    </r:RibbonApplicationMenu>
            </r:Ribbon.ApplicationMenu>
        </r:Ribbon>

        <Grid x:Name="ClientArea" Grid.Row="1">                   

            <!-- Workspace Region-->
            <GridSplitter HorizontalAlignment="Left" Width="2" Grid.Column="1"/>
            <ContentControl x:Name="WorkspaceRegion" Grid.Column="1" prism:RegionManager.RegionName="WorkspaceRegion" />
        </Grid>

    </Grid>
    </ribbon:RibbonWindow>

我的 Ribbontabs 将加载,但窗口现在看起来像这样: 我无法单击关闭并最小化和最大化。

如何让边框正常而不是小?
我不能这样关闭我的窗户。

【问题讨论】:

    标签: c# wpf xaml prism ribbon


    【解决方案1】:

    我找到了让它看起来和工作良好的最佳方法!

    而不是 xaml 开头的标签&lt;ribbon:RibbonWindow, 让它&lt;Window .
    还要添加这部分:

    xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"
    

    然后在你的课堂上删除你的: RibbonWindow(如果它在那里)

    如果这不起作用并且您不需要快速访问工具栏,这可能会有所帮助: 返回到您的 XAML,并将功能区边距更改为 -22:

     <r:Ribbon x:Name="Ribbon" prism:RegionManager.RegionName="RibbonRegion" Margin="0,-22,0,0" >
    

    现在我的应用程序看起来像这样(带有 -22 边距):

    现在它看起来像一个普通的应用程序,没有丑陋的 windows 98 或 2000 样式,并且关闭按钮、最小化按钮和最大化按钮又回来了!

    【讨论】:

    • 这会破坏功能区窗口的快速链接。这不是一个完整的解决方案。
    • 我不知道这是如何解决的,但我看到了您的评论并回到了这个旧项目。我注意到我不必使用 -22 边距来工作。我将编辑我的答案。
    • 如果您再次尝试此解决方案会很好。我编辑了答案。如果这在您的情况下不起作用,则必须有其他问题。这只是我的问题的解决方案。
    【解决方案2】:

    我个人会,要么在边距上玩,要么比这更好,调查那个丝带的风格,并改变它以满足我的需要的方式

    【讨论】:

    • 感谢您查看我的问题,但问题是我无法单击关闭按钮、最大化按钮和最小化按钮。
    • 是的,我可以看到,通过使用 Expression Blend for Visual Studio 更改功​​能区对象的样式,尝试在功能区的高度或边距上播放
    • 由于某种原因,当我使用以下控件时,控件的行为有所不同: using System.Windows.Controls.Ribbon;图书馆。感谢您的回答!我更改了上边距,现在它确实适合。我觉得以前没有找到这个很愚蠢。 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    相关资源
    最近更新 更多