WPF窗口边框与Ribbon Control一起表现得很奇怪

问题描述 投票:3回答:2

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

  1. 使用Microsoft.Windows.Controls.Ribbon; 如果我在我的xaml和class中使用这个,我的整个窗口将是一个非常古老的Windows风格。
  2. 使用System.Windows.Controls.Ribbon; 如果我在我的xaml和class中使用这个,我的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
2个回答
4
投票

我发现了让它看起来和工作都很好的最佳方法!

而不是xaml开头的标签<ribbon:RibbonWindow,让它成为<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风格和关闭按钮,最小化按钮和最大化按钮回来了!


1
投票

我个人会,或者利用边缘,或者更好,调查那个功能区的风格并改变它以帮助我的需要

© www.soinside.com 2019 - 2024. All rights reserved.