0

次のようなリボンアプリケーションメニューがあります。

<ribbon:RibbonWindow>
  <DockPanel>
    <ribbon:Ribbon DockPanel.Dock="Top">
      <ribbon:Ribbon.ApplicationMenu>
        <ribbon:RibbonApplicationMenu>
          <ribbon:RibbonApplicationMenuItem Header="Users"                      
              ImageSource="Users16x16.png"
              Command="{Binding FooBinding}"/>
        </ribbon:RibbonApplicationMenu>
      </ribbon:Ribbon.ApplicationMenu>
    </ribbon:Ribbon>
  </DockPanel>
</ribbon:RibbonWindow>

結果の画像は、引き伸ばされた状態で次のようになります。

ここに画像の説明を入力してください

では、ストレッチする代わりに画像サイズに適応する高さのリボンアプリケーションメニュー項目を作成するにはどうすればよいですか?

4

1 に答える 1

2

次のようにコントロールテンプレートを変更します。

<ribbon:RibbonApplicationMenuItem Command="{Binding FooBinding}">
  <ribbon:RibbonApplicationMenuItem.Template>
    <ControlTemplate>
      <Grid >
        <Grid.ColumnDefinitions>
          <ColumnDefinition />
          <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Image Grid.Column="0" Source="Users16x16.png"/>
        <TextBlock Grid.Column="1">Users</TextBlock>
      </Grid>
    </ControlTemplate>
  </ribbon:RibbonApplicationMenuItem.Template>
</ribbon:RibbonApplicationMenuItem>

辞書のスタイルとしてコントロールテンプレートを使用する場合:

<Style x:Key="16x16ImageStyle" TargetType="{x:Type ribbon:RibbonApplicationMenuItem}">
 <Setter Property="Template">
  <Setter.Value>
   <ControlTemplate TargetType="{x:Type ribbon:RibbonApplicationMenuItem}">
    <Grid >
     <Grid.ColumnDefinitions>
      <ColumnDefinition />
      <ColumnDefinition />
     </Grid.ColumnDefinitions>
     <Image  VerticalAlignment="Center"  HorizontalAlignment="Center" Stretch="None"
             Grid.Column="0" Source="{TemplateBinding ImageSource}"/>
     <TextBlock Grid.Column="1" Text="{TemplateBinding Header}"></TextBlock>
    </Grid>
   </ControlTemplate>
  </Setter.Value>
 </Setter>
</Style>

リボンで思い出してください。

<ribbon:RibbonApplicationMenuItem Header="Users"                      
          ImageSource="Users16x16.png"
          Command="{Binding FooBinding}" 
          Style="{StaticResource 16x16ImageStyle}"/>
于 2012-08-10T08:53:26.253 に答える