locked
Objeto Menu RRS feed

  • Pergunta

  •  

    Galera, tô com um pequeno problema. Uma determinada area da minha interface, exibo dois tipo de menus com estilos distintos. O que ocorre é que o 2º menu está adotando o estilo do 1º menu. Mesmo forçando um estilo para o 2º menu ele replica o estilo do 1º.  Alguém tem uma alternativa?

    Abraço,

    Fabio

    quinta-feira, 13 de novembro de 2008 13:42

Respostas

  • A mensagem aparece porque você está tentando inserir um recurso que tem recursos com o mesmo nome dos já existentes. Selecione a primeira opção e os recursos que estão em bgStyleYellow serão duplicados e renomeados.

     

    Se a pergunta foi respondida, marque-a para que os outros possam aproveitar da resposta.

     

    Bruno

    terça-feira, 25 de novembro de 2008 18:20

Todas as Respostas

  • Você pode colocar o Xaml dos dois menus e dos estilos para saber o que acontece?

     

    Bruno

     

    quinta-feira, 13 de novembro de 2008 17:48
  • Bruno, esse foi um teste que fiz. Acho que vc não vai conseguir vizualizar meu menu, porque meu estilo está na resource. Mas para reforçar o problema criei meu menu com o elemento menu, abaixo inserir um menuItem(Esse cara com o mesmo tamanho do menu). Abaixo do meu menuItem criei os subMenus. Conclusão, o background desse cara é herdado pelo 2º menu. 

     

    Vê se você pode me ajudar.

    Abraço,

    Fabio  

     

     

    <Window
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     x:Class="UntitledProject7.Window1"
     x:Name="Window"
     Title="Window1"
     Width="640" Height="480" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">

     <Window.Resources>
      <LinearGradientBrush x:Key="BrushBlue" EndPoint="0.5,1" StartPoint="0.5,0">
       <GradientStop Color="#FF00AAC8" Offset="0"/>
       <GradientStop Color="#FFFFFFFF" Offset="0.52"/>
       <GradientStop Color="#FF82D5E4" Offset="1"/>
      </LinearGradientBrush>
      <PathGeometry x:Key="Checkmark" Figures="M0,2 L0,4.8 L2.5,7.4 L7.1,2.8 L7.1,0 L2.5,4.6 z"/>
      <ControlTemplate x:Key="{ComponentResourceKey ResourceId=SubmenuItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}" TargetType="{x:Type MenuItem}">
       <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
        <Grid>
         <Grid.ColumnDefinitions>
          <ColumnDefinition MinWidth="17" Width="Auto" SharedSizeGroup="MenuItemIconColumnGroup"/>
          <ColumnDefinition Width="*"/>
          <ColumnDefinition Width="Auto" SharedSizeGroup="MenuItemIGTColumnGroup"/>
          <ColumnDefinition Width="14"/>
         </Grid.ColumnDefinitions>
         <ContentPresenter Margin="4,0,6,0" x:Name="Icon" VerticalAlignment="Center" ContentSource="Icon"/>
         <Path Visibility="Hidden" FlowDirection="LeftToRight" Margin="4,0,6,0" x:Name="GlyphPanel" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="{StaticResource Checkmark}"/>
         <ContentPresenter Margin="{TemplateBinding Padding}" Grid.Column="1" ContentSource="Header" RecognizesAccessKey="True"/>
         <TextBlock Margin="5,2,0,2" x:Name="InputGestureText" Grid.Column="2" Text="{TemplateBinding InputGestureText}" DockPanel.Dock="Right"/>
        </Grid>
       </Border>
       <ControlTemplate.Triggers>
        <Trigger Property="Icon" Value="{x:Null}">
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsChecked" Value="true">
         <Setter Property="Visibility" TargetName="GlyphPanel" Value="Visible"/>
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsHighlighted" Value="true">
         <Setter Property="Background" TargetName="Bd" Value="{DynamicResource {xTongue Tiedtatic SystemColors.HighlightBrushKey}}"/>
         <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.HighlightTextBrushKey}}"/>
        </Trigger>
        <Trigger Property="IsEnabled" Value="false">
         <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.GrayTextBrushKey}}"/>
        </Trigger>
       </ControlTemplate.Triggers>
      </ControlTemplate>
      <MenuScrollingVisibilityConverter x:Key="MenuScrollingVisibilityConverter"/>
      <Style x:Key="MenuScrollButton" BasedOn="{x:Null}" TargetType="{x:Type RepeatButton}">
       <Setter Property="ClickMode" Value="Hover"/>
       <Setter Property="MinWidth" Value="0"/>
       <Setter Property="MinHeight" Value="0"/>
       <Setter Property="Template">
        <Setter.Value>
         <ControlTemplate TargetType="{x:Type RepeatButton}">
          <Microsoft_Windows_Themes:ClassicBorderDecorator x:Name="ClassicBorder" Background="{TemplateBinding Background}" BorderBrush="{xTongue Tiedtatic Microsoft_Windows_Themes:ClassicBorderDecorator.ClassicBorderBrush}" BorderStyle="None" BorderThickness="1">
           <ContentPresenter HorizontalAlignment="Center" Margin="1" VerticalAlignment="Center"/>
          </Microsoft_Windows_Themes:ClassicBorderDecorator>
          <ControlTemplate.Triggers>
           <Trigger Property="IsPressed" Value="true">
            <Setter Property="BorderStyle" TargetName="ClassicBorder" Value="ThinPressed"/>
           </Trigger>
          </ControlTemplate.Triggers>
         </ControlTemplate>
        </Setter.Value>
       </Setter>
      </Style>
      <Geometry x:Key="UpArrow">M 0,4 L 3.5,0 L 7,4 Z</Geometry>
      <Geometry x:Key="DownArrow">M 0,0 L 3.5,4 L 7,0 Z</Geometry>
      <Style x:Key="{ComponentResourceKey ResourceId=MenuScrollViewer, TypeInTargetAssembly={x:Type FrameworkElement}}" BasedOn="{x:Null}" TargetType="{x:Type ScrollViewer}">
       <Setter Property="HorizontalScrollBarVisibility" Value="Hidden"/>
       <Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
       <Setter Property="Template">
        <Setter.Value>
         <ControlTemplate TargetType="{x:Type ScrollViewer}">
          <Grid>
           <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
           </Grid.RowDefinitions>
           <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
           </Grid.ColumnDefinitions>
           <Border Grid.Column="0" Grid.Row="1">
            <ScrollContentPresenter Margin="{TemplateBinding Padding}"/>
           </Border>
           <RepeatButton Focusable="false" Style="{StaticResource MenuScrollButton}" Command="{xTongue Tiedtatic ScrollBar.LineUpCommand}" CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" Grid.Column="0" Grid.Row="0">
            <RepeatButton.Visibility>
             <MultiBinding FallbackValue="Visibility.Collapsed" Converter="{StaticResource MenuScrollingVisibilityConverter}" ConverterParameter="0">
              <Binding Path="ComputedVerticalScrollBarVisibility" RelativeSource="{RelativeSource TemplatedParent}"/>
              <Binding Path="VerticalOffset" RelativeSource="{RelativeSource TemplatedParent}"/>
              <Binding Path="ExtentHeight" RelativeSource="{RelativeSource TemplatedParent}"/>
              <Binding Path="ViewportHeight" RelativeSource="{RelativeSource TemplatedParent}"/>
             </MultiBinding>
            </RepeatButton.Visibility>
            <Path Fill="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}" Data="{StaticResource UpArrow}"/>
           </RepeatButton>
           <RepeatButton Focusable="false" Style="{StaticResource MenuScrollButton}" Command="{xTongue Tiedtatic ScrollBar.LineDownCommand}" CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" Grid.Column="0" Grid.Row="2">
            <RepeatButton.Visibility>
             <MultiBinding FallbackValue="Visibility.Collapsed" Converter="{StaticResource MenuScrollingVisibilityConverter}" ConverterParameter="100">
              <Binding Path="ComputedVerticalScrollBarVisibility" RelativeSource="{RelativeSource TemplatedParent}"/>
              <Binding Path="VerticalOffset" RelativeSource="{RelativeSource TemplatedParent}"/>
              <Binding Path="ExtentHeight" RelativeSource="{RelativeSource TemplatedParent}"/>
              <Binding Path="ViewportHeight" RelativeSource="{RelativeSource TemplatedParent}"/>
             </MultiBinding>
            </RepeatButton.Visibility>
            <Path Fill="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}" Data="{StaticResource DownArrow}"/>
           </RepeatButton>
          </Grid>
         </ControlTemplate>
        </Setter.Value>
       </Setter>
      </Style>
      <LinearGradientBrush x:Key="BrushPink" EndPoint="0.5,1" StartPoint="0.5,0">
       <GradientStop Color="#FFF3B6FF" Offset="0"/>
       <GradientStop Color="#FFE487F5" Offset="1"/>
      </LinearGradientBrush>
      <ControlTemplate x:Key="{ComponentResourceKey ResourceId=TopLevelHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}" TargetType="{x:Type MenuItem}">
       <Microsoft_Windows_Themes:ClassicBorderDecorator x:Name="ClassicBorder" Background="{TemplateBinding Background}" BorderBrush="{xTongue Tiedtatic Microsoft_Windows_Themes:ClassicBorderDecorator.ClassicBorderBrush}" BorderStyle="None" BorderThickness="1">
        <DockPanel>
         <ContentPresenter Margin="4,0,6,0" x:Name="Icon" VerticalAlignment="Center" ContentSource="Icon"/>
         <Path Visibility="Collapsed" FlowDirection="LeftToRight" Margin="4,0,6,0" x:Name="GlyphPanel" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="{StaticResource Checkmark}"/>
         <ContentPresenter Margin="{TemplateBinding Padding}" ContentSource="Header" RecognizesAccessKey="True"/>
         <Popup Focusable="false" AllowsTransparency="true" HorizontalOffset="-2" IsOpen="{Binding Path=IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}" Placement="Bottom" PopupAnimation="{DynamicResource {xTongue Tiedtatic SystemParameters.MenuPopupAnimationKey}}" x:Name="PART_Popup">
          <Microsoft_Windows_ThemesTongue TiedystemDropShadowChrome x:Name="Shdw" Color="Transparent">
           <Microsoft_Windows_Themes:ClassicBorderDecorator x:Name="SubMenuBorder" BorderStyle="AltRaised" BorderThickness="2" Background="{DynamicResource BrushPink}">
            <ScrollViewer Style="{DynamicResource {ComponentResourceKey ResourceId=MenuScrollViewer, TypeInTargetAssembly={x:Type FrameworkElement}}}" CanContentScroll="true">
             <ItemsPresenter Grid.IsSharedSizeScope="true" KeyboardNavigation.DirectionalNavigation="Cycle" KeyboardNavigation.TabNavigation="Cycle"/>
            </ScrollViewer>
           </Microsoft_Windows_Themes:ClassicBorderDecorator>
          </Microsoft_Windows_ThemesTongue TiedystemDropShadowChrome>
         </Popup>
        </DockPanel>
       </Microsoft_Windows_Themes:ClassicBorderDecorator>
       <ControlTemplate.Triggers>
        <Trigger Property="IsSuspendingPopupAnimation" Value="true">
         <Setter Property="PopupAnimation" TargetName="PART_Popup" Value="None"/>
        </Trigger>
        <Trigger Property="Icon" Value="{x:Null}">
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsChecked" Value="true">
         <Setter Property="Visibility" TargetName="GlyphPanel" Value="Visible"/>
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsHighlighted" Value="true">
         <Setter Property="BorderStyle" TargetName="ClassicBorder" Value="ThinRaised"/>
        </Trigger>
        <Trigger Property="IsKeyboardFocused" Value="true">
         <Setter Property="BorderStyle" TargetName="ClassicBorder" Value="ThinPressed"/>
        </Trigger>
        <Trigger Property="IsSubmenuOpen" Value="true">
         <Setter Property="BorderStyle" TargetName="ClassicBorder" Value="ThinPressed"/>
        </Trigger>
        <Trigger Property="IsEnabled" Value="false">
         <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.GrayTextBrushKey}}"/>
        </Trigger>
       </ControlTemplate.Triggers>
      </ControlTemplate>
      <ControlTemplate x:Key="{ComponentResourceKey ResourceId=TopLevelItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}" TargetType="{x:Type MenuItem}">
       <Microsoft_Windows_Themes:ClassicBorderDecorator x:Name="ClassicBorder" Background="{TemplateBinding Background}" BorderBrush="{xTongue Tiedtatic Microsoft_Windows_Themes:ClassicBorderDecorator.ClassicBorderBrush}" BorderStyle="None" BorderThickness="1">
        <DockPanel x:Name="ContentPanel">
         <ContentPresenter Margin="4,0,6,0" x:Name="Icon" VerticalAlignment="Center" ContentSource="Icon"/>
         <Path Visibility="Collapsed" FlowDirection="LeftToRight" Margin="4,0,6,0" x:Name="GlyphPanel" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="{StaticResource Checkmark}"/>
         <ContentPresenter Margin="{TemplateBinding Padding}" ContentSource="Header" RecognizesAccessKey="True"/>
        </DockPanel>
       </Microsoft_Windows_Themes:ClassicBorderDecorator>
       <ControlTemplate.Triggers>
        <Trigger Property="Icon" Value="{x:Null}">
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsChecked" Value="true">
         <Setter Property="Visibility" TargetName="GlyphPanel" Value="Visible"/>
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsHighlighted" Value="true">
         <Setter Property="BorderStyle" TargetName="ClassicBorder" Value="ThinRaised"/>
        </Trigger>
        <Trigger Property="IsKeyboardFocused" Value="true">
         <Setter Property="BorderStyle" TargetName="ClassicBorder" Value="ThinPressed"/>
        </Trigger>
        <Trigger Property="IsEnabled" Value="false">
         <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.GrayTextBrushKey}}"/>
        </Trigger>
       </ControlTemplate.Triggers>
      </ControlTemplate>
      <Geometry x:Key="RightArrow">M 0,0 L 4,3.5 L 0,7 Z</Geometry>
      <ControlTemplate x:Key="{ComponentResourceKey ResourceId=SubmenuHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}" TargetType="{x:Type MenuItem}">
       <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
        <Grid>
         <Grid.ColumnDefinitions>
          <ColumnDefinition MinWidth="17" Width="Auto" SharedSizeGroup="MenuItemIconColumnGroup"/>
          <ColumnDefinition Width="*"/>
          <ColumnDefinition Width="Auto" SharedSizeGroup="MenuItemIGTColumnGroup"/>
          <ColumnDefinition Width="14"/>
         </Grid.ColumnDefinitions>
         <ContentPresenter Margin="4,0,6,0" x:Name="Icon" VerticalAlignment="Center" ContentSource="Icon"/>
         <Path Visibility="Hidden" FlowDirection="LeftToRight" Margin="4,0,6,0" x:Name="GlyphPanel" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="{StaticResource Checkmark}"/>
         <ContentPresenter Margin="{TemplateBinding Padding}" Grid.Column="1" ContentSource="Header" RecognizesAccessKey="True"/>
         <Path Margin="4,0,6,0" x:Name="ArrowPanel" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="{StaticResource RightArrow}" Grid.Column="3" DockPanel.Dock="Right"/>
         <Popup Focusable="false" AllowsTransparency="true" IsOpen="{Binding Path=IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}" Placement="Right" PopupAnimation="{DynamicResource {xTongue Tiedtatic SystemParameters.MenuPopupAnimationKey}}" VerticalOffset="-2" x:Name="PART_Popup">
          <Microsoft_Windows_ThemesTongue TiedystemDropShadowChrome x:Name="Shdw" Color="Transparent">
           <Microsoft_Windows_Themes:ClassicBorderDecorator x:Name="SubMenuBorder" Background="{DynamicResource {xTongue Tiedtatic SystemColors.ControlBrushKey}}" BorderBrush="{xTongue Tiedtatic Microsoft_Windows_Themes:ClassicBorderDecorator.ClassicBorderBrush}" BorderStyle="AltRaised" BorderThickness="2">
            <ScrollViewer Style="{DynamicResource {ComponentResourceKey ResourceId=MenuScrollViewer, TypeInTargetAssembly={x:Type FrameworkElement}}}" CanContentScroll="true">
             <ItemsPresenter Grid.IsSharedSizeScope="true" KeyboardNavigation.DirectionalNavigation="Cycle" KeyboardNavigation.TabNavigation="Cycle"/>
            </ScrollViewer>
           </Microsoft_Windows_Themes:ClassicBorderDecorator>
          </Microsoft_Windows_ThemesTongue TiedystemDropShadowChrome>
         </Popup>
        </Grid>
       </Border>
       <ControlTemplate.Triggers>
        <Trigger Property="IsSuspendingPopupAnimation" Value="true">
         <Setter Property="PopupAnimation" TargetName="PART_Popup" Value="None"/>
        </Trigger>
        <Trigger Property="Icon" Value="{x:Null}">
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsChecked" Value="true">
         <Setter Property="Visibility" TargetName="GlyphPanel" Value="Visible"/>
         <Setter Property="Visibility" TargetName="Icon" Value="Collapsed"/>
        </Trigger>
        <Trigger Property="IsHighlighted" Value="true">
         <Setter Property="Background" TargetName="Bd" Value="{DynamicResource {xTongue Tiedtatic SystemColors.HighlightBrushKey}}"/>
         <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.HighlightTextBrushKey}}"/>
        </Trigger>
        <Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="true">
         <Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5"/>
         <Setter Property="Color" TargetName="Shdw" Value="#71000000"/>
        </Trigger>
        <Trigger Property="IsEnabled" Value="false">
         <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.GrayTextBrushKey}}"/>
        </Trigger>
       </ControlTemplate.Triggers>
      </ControlTemplate>
      <Style x:Key="MenuItemOption" TargetType="{x:Type MenuItem}">
       <Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="Background" Value="Transparent"/>
       <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}"/>
       <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
       <Style.Triggers>
        <Trigger Property="Role" Value="TopLevelHeader">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="TopLevelItem">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuHeader">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuItem">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
        </Trigger>
       </Style.Triggers>
      </Style>
     </Window.Resources>

     <Grid x:Name="LayoutRoot">
      <Grid.ColumnDefinitions>
       <ColumnDefinition Width="*"/>
      </Grid.ColumnDefinitions>
      <StackPanel HorizontalAlignment="Left" Margin="37,37,0,0" VerticalAlignment="Top" Width="207.192" Height="114">
       <Menu Background="{DynamicResource BrushBlue}" Width="207.192" Height="114">
        <MenuItem Style="{DynamicResource MenuItemOption}" Width="111.343" Height="113.277" Header="">
         <MenuItem Height="30" Header="MenuItem"/>
         <MenuItem Height="30" Header="MenuItem"/>
         <MenuItem Height="30" Header="MenuItem"/>
         <MenuItem Height="30" Header="MenuItem"/>
         <MenuItem Height="30" Header="MenuItem"/>
        </MenuItem>
       </Menu>
      </StackPanel>
      <Menu Margin="313.192,37,100,0" VerticalAlignment="Top" Height="114">
       <MenuItem Style="{DynamicResource MenuItemOptionSelect}" Width="132.343" Height="113.277" Header="MenuItem">
        <MenuItem Header="MenuItem"/>
        <MenuItem Header="MenuItem"/>
        <MenuItem Header="MenuItem"/>
        <MenuItem Header="MenuItem"/>
       </MenuItem>
      </Menu>
      <StackPanel HorizontalAlignment="Left" Margin="37,0,0,99" VerticalAlignment="Bottom" Width="207.192" Height="115">
       <Menu Width="207.192" Height="115">
        <MenuItem Style="{DynamicResource MenuItemOptionStyle}" Width="103.343" Height="112.277" Header="">
         <MenuItem Header="MenuItem"/>
         <MenuItem Header="MenuItem"/>
        </MenuItem>
       </Menu>
      </StackPanel>
     </Grid>
    </Window>

    sexta-feira, 14 de novembro de 2008 20:54
  • Não vi nenhum problema, a não ser que os estilos MenuItemOptionSelect e MenuItemOptionStyle não existem. Assim que criei os dois, cada menu ficou diferente do outro. Crie estes dois estilos (eu copiei o MenuItemOption e mudei o Foreground de cada um). Aí a coisa funcionou sem problemas.

     

    Você pode verificar seu erro mudando a linha

     

    MenuItem Style="{DynamicResource MenuItemOptionSelect}"

     

    para

     

    MenuItem Style="{StaticResource MenuItemOptionSelect}"

     

    Aí verá que dá erro na execução pois o estilo não existe.

     

    Bruno

    sábado, 15 de novembro de 2008 08:47
  • Bruno, eu poderia te mandar um e-mail?

    segunda-feira, 17 de novembro de 2008 14:27
  • Pode, mas é melhor mandar pelo forum, pois assim todos sabem a resposta

     

    Bruno

     

    terça-feira, 18 de novembro de 2008 08:07
  • Vou deixar um link aqui para o pessoal visualizar online os prints.

    http://www.diarioanimal.com.br/blend/default.html

    Poderia ser algo relacionado a versão? Estou usando o Blend 2, mais especificamente 2.0.1523.0.

    Um resumo do que foi feito:

    Criei 3 menus no blend, editei os menus e apliquei um estilo para cada um deles. O elemento que editei foi o SubMenuBorder (Nome dado pelo blend)

    Fabio

     

    terça-feira, 18 de novembro de 2008 12:04
  • Neste caso, não é o Blend.

    Agora, pelas imagens que você mandou, não entendi nada: os tres menus tem estilos diferentes. Os dois menus principais não tem estilo pois você não definiu um para eles. Fê uma olhada em seu código para os menus:

     

    1o. menu:

     

    <Menu Background="{DynamicResource BrushBlue}" Width="207.192" Height="114">

    <MenuItem Style="{StaticResource MenuItemOption}" Width="111.343" Height="113.277" Header="">

     

    2o. menu:

    <Menu Margin="313.192,37,100,0" VerticalAlignment="Top" Height="114">

    <MenuItem Style="{StaticResource MenuItemOptionSelect}" Width="132.343" Height="113.277" Header="MenuItem">

     

    3o. menu

    <Menu Width="207.192" Height="115">

    <MenuItem Style="{StaticResource MenuItemOptionStyle}" Width="103.343" Height="112.277" Header="">

     

    Note que você só determinou o background para o primeiro menu. Os outros, ficam com fundo normal. O que você está definindo são estilos para os itens, o que é bem diferente.

     

    Bruno 

    terça-feira, 18 de novembro de 2008 12:38
  • Atualizei o link com mais informações.(http://www.diarioanimal.com.br/blend/default.html) É verdade, o primeiro eu definir o estilo. Só que o estilo das abas são replicados para os outros menus. No link enviado, aplico estilos diferentes para as abas.

    Estou mostrando os menus quando faço a edição no Blend e depois peço para testar a solução. Veja a diferença.

     

    Abraço,

    Fabio

    terça-feira, 18 de novembro de 2008 13:35
  • Ainda acredito que você está usando estilos errados. Mude os DynamicResource para StaticResource nos menus e veja o que acontece.

     

    Bruno

    terça-feira, 18 de novembro de 2008 16:32
  • Bruno,

    alterei, mas não resolveu.

    Fabio

     

     

    terça-feira, 18 de novembro de 2008 17:28
  • Você não consegue fazer um pequeno pedaço de código que reproduza o problema e disponibilizar, assim fica mais fácil ver onde está o problema?

     

    Bruno

     

    quarta-feira, 19 de novembro de 2008 07:03
  • Então, é um pouco complicado, reproduzir o problema se isso só ocorre quando eu crio o segundo menu na Tela. Vou tentar esclarecer isso na estrutura que estou fazendo.

     

    Minha estrutura no blend:

     

    MenuDesligar - Elemento Menu

                MenuOnClickDesligar - Elemento MenuItem

                            <>Header

                            MenuItemDesligar - Elemento MenuItem

                            MenuItemLogOut - Elemento MenuItem

                            MenuItemReiniciar - Elemento MenuItem

     

    MenuAjuda - Elemento Menu

                MenuOnClickAjuda  Elemento MenuItem(Quando vou editar esse elemento aparece essa mensagem)

                            <>Header

                            MenuItemTutorial MenuItem

                            MenuItemPasso a Passo MenuItem

                            MenuItemVersão MenuItem

     

    Codigo in .XAML

     

    Clique no link para acessar o codigo do menu:

    segunda-feira, 24 de novembro de 2008 15:03
  • Vi duas coisas no seu exemplo:

    - no template do menu Ajuda, o ItemsPresenter vem antes do TextBlock. Assim se você clicar no texto, o menu não abre pois ele está atrás do texto. Você deve colocar o ItemsPresenter depois:

     

    <Grid>

      <TextBlock Margin="0,0,0,8" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"  

          Foreground="#FFFFFFFF"><Run FontSize="48" Text="?" Language="pt-br"/></TextBlock>

      <ItemsPresenter/>

    </Grid>

     

    O seu menuitem principal tem um header e um background nulo. Isto faz que ele só seja ativado quando clicar no "0" que fica em cima do menu. Mude este menu para:

     

    <MenuItem Height="80" Margin="0,0,0,0" Width="90" x:Name="MenuOnClickAjuda" Style="{StaticResource MenuItemOnClickBlue}">

      <MenuItem x:Name="Tutorial" Header="Tutorial"/>

      <MenuItem x:Name="Passo_a_Passo" Header="Passo a Passo"/>

      <MenuItem x:Name="Versão" Header="Versão"/>

    </MenuItem>

     

    Bruno

    terça-feira, 25 de novembro de 2008 11:24
  • Obrigado Bruno! Agora posso clicar em qualquer lugar do MenuAjuda e as opções: Tutorial, Passo a Passo e Versão aparecem.

     

    Mas o problema do Menu Ajuda replicar o estilo "bgStyleMenuBlue" persiste. Você viu a mensagem que aparece quando editei pela 1ª vez "MenuOnClickAjuda".

     

    Quando tento editar o Menu Ajuda, aplicando o estilo "bgStyleYellow" o estilo replica para o Menu Desliga.  

     

    Valeu mesmo.

    Fabio

     

    terça-feira, 25 de novembro de 2008 15:08
  • A mensagem aparece porque você está tentando inserir um recurso que tem recursos com o mesmo nome dos já existentes. Selecione a primeira opção e os recursos que estão em bgStyleYellow serão duplicados e renomeados.

     

    Se a pergunta foi respondida, marque-a para que os outros possam aproveitar da resposta.

     

    Bruno

    terça-feira, 25 de novembro de 2008 18:20
  • Bruno,

    Ainda continuo com o problema da replicação dos menus.

    Vou fazer mais um exemplo para analisar o que ocorre.

     

    Nesse meu .xaml, criei mais um menu chamado "MenuTralha", com a finalidade de aplicar estilos para cada elemento do MenuTralha conforme a estrutura dele, mas também não adiantou, pois só pude editar o MenuTralha. Deu apenas um nome para o MenuItem de "MenuOnClickTralha". Após dar o nome "MenuOnClickTralha" clico na 1ª opção e o estilo do 1º menu é aplicado no MenuTralha.

     

    Codigo do menuExemplo .xaml 

     

    MenuTralha - Menu

    MenuOnClickTralha - MenuItem

    <>Header

    Link 1 - MenuItem

    Link 2 - MenuItem

    Link 3 - MenuItem

     

    Não teria outra forma de resolver isso, depois colocariamos no forum como a solução foi resolvida????

     

    Abraço,

    Fabio

    terça-feira, 25 de novembro de 2008 18:26
  • Por favor, dê os passos como está fazendo para que eu possa reproduzir, Eu estou acostumado a editar o xaml no braço (no VS) e porisso não vejo o que o Blend pode estar fazendo.

     

    Acredito que o melhor seja fazer o seguinte: deixe apenas o indispensável para o projeto, tire todos os estilos não usados, tire os componentes não usados e depois coloque um link para o código. Em seguida, mostre os passos que está usando (com detalhes) e quando é que dá a mensagem. Assim posso reproduzir o que está fazendo no Blend e ver onde está o erro.

     

    Bruno

    terça-feira, 25 de novembro de 2008 19:15
  • Pois é, como Designer evito editar no xaml, só quando é preciso. Mas vamos resolver isso.

    Abraço,

    Fabio

     

    Passo a Passo do MenuIniciar:

     

    Inserir menu na WorkSpace

             Editei o Menu para “MenuIniciar”

                       <>Template

                                Border (Editei a border)

     

    Inserir MenuItem

             Editei o MenuItem para “MenuItemIniciar” Retirei os eventos, porem botão continuou funcionando.

     

    Inserir um MenuItem

    Editei o MenuItem para “MenuItemIniciarDesligar” (aquela mensagem apareceu)

     

    Selecionei a 1ª opção e continuei meu trabalho.

     

    Obs: Eu preciso editar o background cinza do MenuItemIniciarDesligar. Só consigo fazer isso editando o MenuItemIniciar (Editar Elemento)

     

    MenuItemIniciar (Mode Edição)

             <>Value

                       ClassicBorder

                                DockPanel

                                          Icon

                                          GlyphPanel

                                          ContentPresenter

                                          PART_Popup

                                                   Shdw

                                                            SubMenuBorder (Retiro background cinza desse cara apliquei um laranja)

     

    Obs: Desta vez fiz o mínimo de estilo visual, até aqui tudo bem! Agora que complica as coisas.

     

     

    Segundo Menu...

     

    Inserir menu na WorkSpace

             Editei o Menu para “MenuFechar”

                       <>Template

                                Border (Editei a border)

     

    Inserir MenuItem

             Editei o MenuItem para “MenuItemFechar” (aquela mensagem apareceu, cliquei na 1ª opção)

     

    Inserir um MenuItem,  (O estilo aplicado para MenuItemIniciarDesligar com fundo laranja aparece de cara nesse elemento)

     

    Parei por aqui, mas cheguei a conclusão que o background da border no MenuItemIniciar replicou no MenuItemFechar

     

    Codigo .xaml

     

    terça-feira, 25 de novembro de 2008 19:19
  • Vi que seu xaml está um pouco bagunçado e limpei ele, deixei isso aqui:

     

    <Window
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     x:Class="MenuBlend.Window1"
     x:Name="Window"
     Title="Window1"
     Width="640" Height="480" >
    <Window.Resources>
      <Style x:Key="MenuIniciar" TargetType="{x:Type Menu}">
       <Setter Property="Background" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuBrushKey}}"/>
       <Setter Property="FontFamily" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontFamilyKey}}"/>
       <Setter Property="FontSize" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontSizeKey}}"/>
       <Setter Property="FontStyle" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontStyleKey}}"/>
       <Setter Property="FontWeight" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontWeightKey}}"/>
       <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}"/>
       <Setter Property="VerticalContentAlignment" Value="Center"/>
       <Setter Property="Template">
        <Setter.Value>
         <ControlTemplate TargetType="{x:Type Menu}">
          <Border Background="#FFFF1B1B" SnapsToDevicePixels="true" BorderThickness="2,2,2,2" CornerRadius="10,10,10,10">
           <ItemsPresenter/>
          </Border>
         </ControlTemplate>
        </Setter.Value>
       </Setter>
      </Style>
      <PathGeometry x:Key="Checkmark" Figures="M0,2 L0,4.8 L2.5,7.4 L7.1,2.8 L7.1,0 L2.5,4.6 z"/>
      <Geometry x:Key="UpArrow">M 0,4 L 3.5,0 L 7,4 Z</Geometry>
      <Geometry x:Key="DownArrow">M 0,0 L 3.5,4 L 7,0 Z</Geometry>
      <Geometry x:Key="RightArrow">M 0,0 L 4,3.5 L 0,7 Z</Geometry>
      <Style x:Key="MenuItemIniciar" TargetType="{x:Type MenuItem}">
       <Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="Background" Value="Transparent"/>
       <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}"/>
       <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
       <Style.Triggers>
        <Trigger Property="Role" Value="TopLevelHeader">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="TopLevelItem">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuHeader">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuItem">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
        </Trigger>
       </Style.Triggers>
      </Style>
      <Style x:Key="MenuItemIniciarDesligar" TargetType="{x:Type MenuItem}">
       <Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="Background" Value="Transparent"/>
       <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}"/>
       <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
       <Style.Triggers>
        <Trigger Property="Role" Value="TopLevelHeader">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="TopLevelItem">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuHeader">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuItem">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
        </Trigger>
       </Style.Triggers>
      </Style>
      <Style x:Key="MenuFechar" TargetType="{x:Type Menu}">
       <Setter Property="Background" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuBrushKey}}"/>
       <Setter Property="FontFamily" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontFamilyKey}}"/>
       <Setter Property="FontSize" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontSizeKey}}"/>
       <Setter Property="FontStyle" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontStyleKey}}"/>
       <Setter Property="FontWeight" Value="{DynamicResource {xTongue Tiedtatic SystemFonts.MenuFontWeightKey}}"/>
       <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}"/>
       <Setter Property="VerticalContentAlignment" Value="Center"/>
       <Setter Property="Template">
        <Setter.Value>
         <ControlTemplate TargetType="{x:Type Menu}">
          <Border SnapsToDevicePixels="true" Background="#FFDA18FF" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="2,2,2,2" CornerRadius="10,10,10,10">
           <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
          </Border>
         </ControlTemplate>
        </Setter.Value>
       </Setter>
      </Style>
      <Style x:Key="MenuItemFechar" TargetType="{x:Type MenuItem}">
       <Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
       <Setter Property="Background" Value="Transparent"/>
       <Setter Property="Foreground" Value="{DynamicResource {xTongue Tiedtatic SystemColors.MenuTextBrushKey}}"/>
       <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
       <Style.Triggers>
        <Trigger Property="Role" Value="TopLevelHeader">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="TopLevelItem">
         <Setter Property="Margin" Value="0,1,0,1"/>
         <Setter Property="Padding" Value="4,1,5,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=TopLevelItemTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuHeader">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
         <Setter Property="Template" Value="{DynamicResource {ComponentResourceKey ResourceId=SubmenuHeaderTemplateKey, TypeInTargetAssembly={x:Type MenuItem}}}"/>
        </Trigger>
        <Trigger Property="Role" Value="SubmenuItem">
         <Setter Property="DockPanel.Dock" Value="Top"/>
         <Setter Property="Padding" Value="0,2,0,2"/>
        </Trigger>
       </Style.Triggers>
      </Style>
     </Window.Resources>

     <Grid x:Name="LayoutRoot">
      <Menu Background="{x:Null}" HorizontalAlignment="Left" Margin="41,95,0,0" x:Name="MenuIniciar" Style="{DynamicResource MenuIniciar}" VerticalAlignment="Top" Width="100" Height="100">
       <MenuItem HorizontalAlignment="Stretch" Margin="0,0,0,0" x:Name="MenuItemIniciar" Style="{DynamicResource MenuItemIniciar}" VerticalAlignment="Stretch" Width="96.343" Height="95.277" Header="MenuItem">
        <MenuItem Style="{DynamicResource MenuItemIniciarDesligar}" Header="Desligar"/>
        <MenuItem Header="Boot" Background="#001F0606" x:Name="Boot"/>
       </MenuItem>
      </Menu>
      <Menu HorizontalAlignment="Left" Margin="172,95,0,0" x:Name="MenuFechar" Style="{DynamicResource MenuFechar}" VerticalAlignment="Top" Width="100" Height="100">
       <MenuItem x:Name="MenuItemFechar" Style="{DynamicResource MenuItemFechar}" Width="94.343" Height="93.277" Header="MenuItem">
        <MenuItem Header="MenuItem"/>
       </MenuItem>
      </Menu>
     </Grid>
    </Window>

    Selecione ele e cole em sua janela. Depois, você pode editar tudo, sem mensagens. O que acontece é que você foi fazendo as coisas e o código se acumulou. Com este código, consegui editar o estilo do menuitem sem problemas. Agora, quando estiver alterando um template, verifique se ele não está ligado ao template do controle. Pode ser este o motivo que dois templates ficam iguais.

     

    Bruno

     

    segunda-feira, 1 de dezembro de 2008 20:19
  • Copiei e Colei conforme havia indicado, mas perdir o estilo do background do menuItem e o estilos dos links.  

     

    segunda-feira, 1 de dezembro de 2008 20:29
  • Bruno, agora funcionou!!!

    Valeu mesmo!

    Abraço,

    Fabio

    quarta-feira, 3 de dezembro de 2008 17:15