2

WPFリボンで大きな問題が発生しています。ここに少しのRibbonコードがあります。(私はを使用していますSystem.Windows.Controls.Ribbon)、これらすべてはRibbonWindow.NET 4.5/VS2012内にあります。

<Ribbon VerticalAlignment="Top" Height="Auto" HorizontalAlignment="Stretch">
    <RibbonTab Header="Home" Height="Auto" VerticalAlignment="Top">
        <RibbonGroup Header="Save/Load" Height="Auto" Margin="0"
            VerticalAlignment="Top" Width="Auto">
            <Grid HorizontalAlignment="Stretch">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <Button x:Name="cmdLoadImage" Click="cmdLoadImage_Click"
                    Margin="10,10,10,10" Grid.Column="0">
                    <Image Source="Images\load-icon.png" />
                </Button>
        </RibbonGroup>
    </RibbonTab>
</Ribbon>

ポイント1-2はバグです。

  1. とのプロパティを変更Ribbonしても、の高さを変更できません。視覚的な高さは同じままです。VerticalAlignmentRibbonTabRibbonGroupStretch
  2. をに変更するButtonと、RibbonButtonその中の画像が消えますが、を維持するとButton視覚的な影響があります。
  3. RibbonMS Officeのようにスパンをウィンドウにするにはどうすればよいですか?トップにApplicationMenu行くなど?

編集:WPF用の無料の代替リボンコントロールライブラリを高く評価します。商業的に使いたいです。

4

1 に答える 1

4

最初の質問: 残念ながら、Microsoft リボンの高さは固定されているため、変更することはできません。

2 番目の質問については、画像を に入れる代わりにLargeImageSourceandを使用する必要があります。SmallImageSourceRibboButton

あなたの 3 番目の質問は十分に明白ではありませんが、ApplicationMenuウィンドウのタイトルに参加したいという意味であれば、これが答えです。ウィンドウの種類をRibbonWindow次のように変更する必要があります。

<RibbonWindow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</RibbonWindow>

およびウィンドウコードビハインドで:

public partial class MainWindow : RibbonWindow
{
}

あなたのデザインにはいくつかの間違いがあります。修正しましょう。

まず、リボンをグリッドに配置する必要があります。

<RibbonWindow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Ribbon Focusable="False" Height="138" Name="MainRibbon"
            VerticalAlignment="Top">
            <RibbonTab Header="Home" IsSelected="True" KeyTip="H">
                <RibbonGroup Header="Tools" KeyTip="T">
                    <RibbonButton Click="btnSave_Click" ToolTipTitle=""
                        ToolTipDescription="" Name="btnSave"
                        LargeImageSource="..\..\Images\RibbonIcons\Save.png"
                        Label="Save" KeyTip="S"/>
                </RibbonGroup>
            </RibbonTab>
        </Ribbon>
    </Grid>
</RibbonWindow>

注:正しくLargeImageSource表示するには、プロパティを設定する必要があります。RibbonButton

幸運を。

于 2012-11-25T17:55:24.343 に答える