Реализация области призмы в RibbonTabView - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь создать область в RibbonTabView, используя инфраструктуру Prism 7.2, я могу все подключить и «функционировать», но кнопки, которые вводятся в область, отображаются в нижней части ленты, и я могу » Кажется, я не могу понять, как заставить визуальные элементы выравниваться.

Моя базовая RibbonTabView -

<baseTypes:RibbonTabViewBase x:Class="NextGenSim.Modules.Setup.Forms.Views.SetupModuleRibbonTabView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:baseTypes="clr-namespace:Acme.CommonModule.BaseTypes;assembly=NextGenSim.Core"
         xmlns:enum="clr-namespace:Acme.CommonModule.Enum;assembly=NextGenSim.Core"
         xmlns:converters="clr-namespace:Acme.CommonModule.Converters;assembly=NextGenSim.Core"
         xmlns:viewRibbonButtonGroup="clr-namespace:Acme.CommonModule.Controls.ViewRibbonButtonGroup;assembly=NextGenSim.Core"
         xmlns:viewModels="clr-namespace:NextGenSim.Modules.Setup.Forms.ViewModels"
         xmlns:viewEnums="clr-namespace:NextGenSim.Modules.Setup.Forms"
         xmlns:regions="http://prismlibrary.com/"
         xmlns:core="clr-namespace:PrismOutlook.Core;assembly=NextGenSim.Core"
         mc:Ignorable="d" 
         d:DataContext="{d:DesignInstance Type=viewModels:SetupModuleRibbonTabViewModel}"
         Header="Setup" d:DesignWidth="92.992" d:DesignHeight="36.919">

<RibbonGroup Header="Setup">

    <RibbonGroup.GroupSizeDefinitions>
        <RibbonGroupSizeDefinitionBaseCollection>
            <RibbonGroupSizeDefinition>
                <RibbonControlSizeDefinition
                    ImageSize="Large"
                    IsLabelVisible="True">
                </RibbonControlSizeDefinition>
            </RibbonGroupSizeDefinition>
        </RibbonGroupSizeDefinitionBaseCollection>
    </RibbonGroup.GroupSizeDefinitions>


    <RibbonButton
        Label="DB Import"
        LargeImageSource="/NextGenSim.Modules.Setup;component/Resources\Icons\DB_Import.png"
        Command="{Binding Path=OpenOutingsSetupSelectorCommandAsync}"
        CommandParameter="DB Import">
    </RibbonButton>

    <!-- more ribbon buttons -->
    </RibbonToggleButton>

</RibbonGroup>

<ContentControl regions:RegionManager.RegionName="{x:Static core:RegionNames.AssembleRegion}" Height="85" VerticalAlignment="Top"/>

<RibbonGroup Header="Set Offsets">

    <!-- more ribbon buttons -->

</RibbonGroup>

Представление, которое я пытаюсь внедрить в AssembleRegion:

RibbonGroup x:Class="NextGenSim.Modules.Assembly.Forms.Views.AssemblyModuleRibbon"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         mc:Ignorable="d" 
         d:DesignHeight="100"
         xmlns:prism="http://prismlibrary.com/"
         prism:ViewModelLocator.AutoWireViewModel="True" 
         Header="Assemble Actions">

    <RibbonGroup.GroupSizeDefinitions>
        <RibbonGroupSizeDefinitionBaseCollection>
            <RibbonGroupSizeDefinition>
                <RibbonControlSizeDefinition
                    ImageSize="Large"
                    IsLabelVisible="True">
                </RibbonControlSizeDefinition>
            </RibbonGroupSizeDefinition>
        </RibbonGroupSizeDefinitionBaseCollection>
    </RibbonGroup.GroupSizeDefinitions>

    <RibbonButton 
        Label="Assemble"
        LargeImageSource="/NextGenSim.Modules.Assembly;component/Resources\Icons\Assemble.png"
        Command="{Binding Path=AssembleVehicle}"
        CommandParameter="Assemble"
        ToolTip="Control+Shift+Space"
        IsEnabled="{Binding CanCompute}">
    </RibbonButton>

    <RibbonButton  
        Label="Assemble &amp; Setup" 

LargeImageSource = "/ NextGenSim.Modules.Assembly; component / Resources \ Icons \ Assemble_and_Setup.png" Command = "{Binding Path = AssembleAndSetupVehicle}" CommandParameter = "Assemble" ToolTip = "Control + Пробел + "IsEnabled =" {Binding CanCompute} ">

</RibbonGroup>

Полученный вид выглядит следующим образом

enter image description here

Кнопки работают, все модели и инъекция работают так, как я ожидал ..... но кнопки не соответствуют остальным. Я копался в визуальном дереве, используя Sn oop, и ничто не кричало, как я должен корректировать код, чтобы это исправить. Каков самый простой способ добиться введения этой группы кнопок, но при этом конечный пользователь не должен выглядеть как-то иначе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...