none
Crear un efecto en Menu Item con un border RRS feed

  • Pregunta

  • Hola a todos e estado intentando crear un menu pero personalizado donde al usuario posecionar el mouse un tipo de border circular este sobre el item. hasta el momento tengo este codigo en app.xaml

     

    <Style x:Key="{x:Type Menu}" TargetType="{x:Type Menu}">
                    <Setter Property="Background" Value="{StaticResource StyleMenuColor}"/>
                    <Setter Property="FontFamily" Value="{DynamicResource {x:Static SystemFonts.MenuFontFamilyKey}}"/>
                    <Setter Property="FontSize" Value="{DynamicResource {x:Static SystemFonts.MenuFontSizeKey}}"/>
                    <Setter Property="FontStyle" Value="{DynamicResource {x:Static SystemFonts.MenuFontStyleKey}}"/>
                    <Setter Property="FontWeight" Value="{DynamicResource {x:Static SystemFonts.MenuFontWeightKey}}"/>
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"/>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type Menu}">
                                <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"
    Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"
     SnapsToDevicePixels="true" CornerRadius="0,0,5,5"> <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style>
     e intentado modificar el border.style pero nada tampoco:( le agradeceria mucho su ayuda

     


    • Editado victor_23 miércoles, 19 de octubre de 2011 3:05
    miércoles, 19 de octubre de 2011 3:05

Todas las respuestas

  • Hola victor

    Has intentado de esta forma:

    <Style x:Key="{x:Type Menu}" TargetType="{x:Type Menu}">
      <Setter Property="OverridesDefaultStyle" Value="True"/>
      <Setter Property="SnapsToDevicePixels" Value="True"/>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type Menu}">
            <Border BorderThickness="0">
              <StackPanel ClipToBounds="True" Orientation="Horizontal"
                          IsItemsHost="True"/>
            </Border>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
    


    Intenta agregando el OverridesDefaultStyle

    Saludos


    Antonio Lobo
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi blog
    • Propuesto como respuesta Hard Tour jueves, 20 de octubre de 2011 8:15
    miércoles, 19 de octubre de 2011 3:12
  • Creo que le faltaria en el stackpanel agregar el ContentPresenter o ItemPresenter en este caso.
    <Style x:Key="{x:Type Menu}" TargetType="{x:Type Menu}">
      <Setter Property="OverridesDefaultStyle" Value="True"/>
      <Setter Property="SnapsToDevicePixels" Value="True"/>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type Menu}">
            <Border BorderThickness="0">
              <StackPanel ClipToBounds="True" Orientation="Horizontal"
                          IsItemsHost="True">
                  <ContentPresenter />
               </StackPanel>
            </Border>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>

    jueves, 20 de octubre de 2011 8:21
  • Hola gracias por su cooperacion pues lo probe pero me sale directamente este problema 

    Error    1    Se produjo una excepción al agregar un valor a una colección de tipo 'System.Windows.Controls.UIElementCollection'.    c:\users\victs23\documents\visual studio 2010\Projects\BillingSystem\BillingSystem\MainWindow.xaml    12    9    BillingSystem

    y este es el codigo donde aplico el menu

     <Menu Height="30" Name="menu1" Margin="0,-1,0,0" VerticalAlignment="Top" BorderThickness="2"
                  Foreground="White" FontSize="16" FontWeight="Bold" Grid.RowSpan="3">
                <MenuItem Header="Archivo" >
                    <MenuItem Name="Salir" Header="Salir">
                        <MenuItem.Icon>
                            <Image Source="/BillingSystem;component/Images/salir.ico" Width="20" Height="20" />
                        </MenuItem.Icon>
                    </MenuItem>
                </MenuItem>
                <MenuItem Header="Datos Complementarios" Foreground="White" FontSize="16" >
                    <MenuItem Name="AgregarClientes" Header="Agregar Clientes" Foreground="White" Click="AgregarClientes_Click"<br/> BorderBrush="White" BorderThickness="1" >
                        <MenuItem.Icon>
                            <Image Source="/BillingSystem;component/Images/fidelizacion-de-clientes.ico" Width="20" Height="20" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Name="AgregarFacturas" Header="Agregar Facturas" Foreground="White" Click="AgregarClientes_Click" >
                        <MenuItem.Icon>
                            <Image Source="/BillingSystem;component/Images/com_ico.ico" Width="20" Height="20" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Name="AgregarRecibos" Header="Agregar Recibos" Foreground="White" Click="AgregarClientes_Click" >
                        <MenuItem.Icon>
                            <Image Source="/BillingSystem;component/Images/pagosdomiciliadosruralvia_infop.ico" Width="20" Height="20" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Name="TasadeCambios" Header="Tasa de Cambio" Foreground="White" Click="AgregarClientes_Click" >
                        <MenuItem.Icon>
                            <Image Source="/BillingSystem;component/Images/facturacion-facturas.ico" Width="20" Height="20" />
                        </MenuItem.Icon>
                    </MenuItem>
                </MenuItem>
                <MenuItem Header="Reportes" Foreground="White" FontSize="16">
                    <MenuItem Name="ListadodeClientes" Header="Listados de Clientes"  Foreground="White"<br/> Click="AgregarClientes_Click"/>
                    <MenuItem Name="FacturasEmitidas" Header="Facturas Emitidas"  Foreground="White" <br/>Click="AgregarClientes_Click"/>
                    <MenuItem Name="FacturasEmitidasporMes" Header="Facturas Emitidas por Mes"  Foreground="White"<br/> Click="AgregarClientes_Click"/>
                    <MenuItem Name="FacturasporClientes" Header="Facturas por Clientes"  Foreground="White" <br/>Click="AgregarClientes_Click"/>
                    <MenuItem Name="ResumenFacturas" Header="Resume De Facturas"  Foreground="White" <br/>Click="AgregarClientes_Click"/>
                </MenuItem>
                <MenuItem Header="Herramientas" Foreground="White" FontSize="16">
                    <MenuItem Name="CambiarContrasena" Header="Cambiar Contraseña" Foreground="White"<br/> Click="AgregarClientes_Click"/>
                    <MenuItem Name="MantenimientoBBDD" Header="Mantenimiento de BBDD" Foreground="White"<br/> Click="AgregarClientes_Click"/>
                    <MenuItem Name="RespaldoBBDD" Header="Respaldo de BBDD" Foreground="White" Click="AgregarClientes_Click"/>
                    <MenuItem Name="RestaurarBBDD" Header="Restauracion de BBDD" Foreground="White" Click="AgregarClientes_Click"/>
                </MenuItem>
                <MenuItem Header="Ayuda" IsCheckable="False" Foreground="White" FontSize="16">
                    <MenuItem.Background>
                        <ImageBrush ImageSource="/BillingSystem;component/Images/Ayuda11.ico" Stretch="Uniform"/>
                    </MenuItem.Background>
                </MenuItem>
            </Menu>
    


    viernes, 21 de octubre de 2011 2:29