2

UserControlでMicrosoftRibbonControlを使用しています(MDIシステムでWPFをホストするためにスタブフォームでホストできるようにする必要があります)。残念ながら、リボンのタイトルはリボンのヘッダーに上/左に表示され、ばかげているように見えます。どうすればその吸盤にたどり着くことができますか?

4

1 に答える 1

3

私は今、ほぼ同じことに取り組んでいます。リボンタイトルのデータテンプレートを使用して解決しました。

<r:Ribbon.TitleTemplate>
    <DataTemplate>
        <TextBlock Text="Put you title here" Margin="3,3,0,0"></TextBlock>
    </DataTemplate>
</r:Ribbon.TitleTemplate>

リボンがRibbonWindowで使用されている場合は、暗い背景の上に配置したときに正しく読めるように、タイトルテキストにグローを追加することもできます。その場合、TextBlock内にこのXAMLを追加します。

<TextBlock.BitmapEffect>
    <OuterGlowBitmapEffect GlowColor="White" Opacity="0.7" GlowSize="10"/>
</TextBlock.BitmapEffect>

RibbonWindow内で使用する場合、リボンにはもう1つの問題があります。ウィンドウの状態がNormalの場合、またはウィンドウが最大化されている場合、タイトルテキストは正しく配置されます。これを解決するために、TextBlockMarginをcodebindのプロパティにバインドしました。

public Thickness TitleMargin
{
    get { return this.WindowState == WindowState.Maximized ? new Thickness(0, 3, 0, 0) : new Thickness(0); }
}

これを機能させるには、ウィンドウの状態が変化するたびにPropertyChangedイベントを発生させる必要もあります。

protected override void OnStateChanged(EventArgs e)
{
    OnPropertyChanged("TitleMargin");
    base.OnStateChanged(e);
}
于 2011-07-22T09:21:49.840 に答える