2016-11-16 4 views
0

私のアプリにはMenuItemがほとんどありません。すべてのMenuItemの左側に垂直ラベルが必要です。 (背景がグレーもちろん、私のペイントスキルはご容赦)このように: wanted outputMenuItem内のすべてのsubMenuItemのラベルが垂直に回転しました

私はそれをこのように試してみた:

<Menu IsMainMenu="True" Grid.Row="0" Grid.ColumnSpan="3"> 
     <MenuItem Header="_File"> 
      <TextBlock Text="Type1" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,0"> 
       <TextBlock.LayoutTransform> 
        <RotateTransform Angle="-90"/> 
       </TextBlock.LayoutTransform> 
      </TextBlock> 
      <MenuItem Header="_Open" Command="{Binding OpenFileCommand}" IsEnabled="{Binding CanOpenFile}"/> 
      <Separator/> 
      <MenuItem Header="_Save" Command="{Binding SaveFileCommand}"/> 
      <MenuItem Header="_Save As" Command="{Binding SaveAsFileCommand}"/> 
      <Separator/> 
      <MenuItem Header="_Exit" Command="{Binding ExitAppCommand}"/> 
     </MenuItem> 
    </Menu> 

をしかし、それは、このような出力を生成します。

Label menuItem output

次に、私は背景画像(普通のテキストだけで透明)を使って試しました:

<Menu IsMainMenu="True" Grid.Row="0" Grid.ColumnSpan="3"> 
     <MenuItem Header="_File"> 
      <MenuItem.Background> 
       <ImageBrush ImageSource="{Binding SelectedObjectResourcePath}"/> 
      </MenuItem.Background> 
      <MenuItem Header="_Open" Command="{Binding OpenFileCommand}" IsEnabled="{Binding CanOpenFile}"/> 
      <Separator/> 
      <MenuItem Header="_Save" Command="{Binding SaveFileCommand}"/> 
      <MenuItem Header="_Save As" Command="{Binding SaveAsFileCommand}"/> 
      <Separator/> 
      <MenuItem Header="_Exit" Command="{Binding ExitAppCommand}"/> 
     </MenuItem> 
    </Menu> 

しかし、それだけで最初のmenuItemの背景を設定します。ここで(水平方向で)のStackPanelを使用して background imageBrush

+0

最初に私が見るのは、スタイルを作成したり、これを行うスタイルを変更することです。スタイルを使用していますか?作成しましたか? – Joe

+0

@Joeねえ、はい、私のプロジェクトには既製のスタイルがありますが、かなり長いです。しかし、おそらく犯人がいるだろう。 – n0win0u

答えて

1

は、私の意見では最適なソリューションです。これをチェックしてください。

<Menu IsMainMenu="True" Grid.Row="0"> 
      <MenuItem Header="_File"> 
       <StackPanel Orientation="Horizontal"> 
        <Label Content="Type1" Margin="-30" HorizontalContentAlignment="Center"> 
         <Label.LayoutTransform> 
          <RotateTransform Angle="-90"/> 
         </Label.LayoutTransform> 
        </Label> 
        <StackPanel> 
         <MenuItem Header="_Open" Command="{Binding OpenFileCommand}" IsEnabled="{Binding CanOpenFile}"/> 
         <Separator/> 
         <MenuItem Header="_Save" Command="{Binding SaveFileCommand}"/> 
         <MenuItem Header="_Save As" Command="{Binding SaveAsFileCommand}"/> 
         <Separator/> 
         <MenuItem Header="_Exit" Command="{Binding ExitAppCommand}"/> 
        </StackPanel> 
       </StackPanel> 
      </MenuItem> 
     </Menu> 
+0

はい、私もこれが私の心にかかってきましたが、問題は、最初のmenuItemだけが示すように、それ以上は何もありません: http://i.imgur.com/EgdP1jd.png – n0win0u

+0

私のコード? – Kuba

+0

私はこの程度に私のスタイルを編集することができました: http://i.imgur.com/WKXri3C.png それはまだ1つのmenuitemとしてすべてのものを必要とし、ありがとう! – n0win0u

関連する問題