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