¿Cómo ocultar los eventos de “hover” y “click” de UniformGrid?
Intenté crear una lista de botones con dos columnas usando un ListBox
y UniformGrid
. Todo parecía estar bien hasta que me encontré con el siguiente problema. El espacio del margen del botón se mostraba con un color azul claro cuando hacía clic o pasaba el mouse sobre él. ¿Cómo puedo eliminar este efecto?
Esta es mi código:
<listbox width="1000" grid.row="1" verticalalignment="Top" verticalcontentalignment="Top" name="uniformGrid1" margin="50" itemssource="{Binding SomeItemsList}">
<listbox.itemspanel>
<itemspaneltemplate>
<uniformgrid columns="2" background="Transparent" name="uniformGrid1"></uniformgrid>
</itemspaneltemplate>
</listbox.itemspanel>
<listbox.itemtemplate>
<datatemplate>
<button margin="50" height="70" click="keyword_Click" width="250" foreground="Black" fontsize="16" fontfamily="Helvetica Neue" fontweight="Bold" borderbrush="SlateGray" content="{Binding Name}">
<button.background>
<lineargradientbrush endpoint="0.5,1" startpoint="0.5,0">
<gradientstop color="White" offset="0.073"></gradientstop>
<gradientstop color="White" offset="1"></gradientstop>
<gradientstop color="#FFE9E9F9" offset="0.571"></gradientstop>
<gradientstop color="#FFD7D7EC" offset="0.243"></gradientstop>
</lineargradientbrush>
</button.background>
</button>
</datatemplate>
</listbox.itemtemplate>
</listbox>
davy.ai
Para eliminar el efecto de fondo azul claro al hacer clic o al pasar el mouse sobre el botón en el
ListBox
, puede agregar unEventSetter
alDataTemplate
delListBox.ItemTemplate
.Aquí está un fragmento de código actualizado:
En la sección
Button.Style
, primero configuramos las clavesHighlightBrushKey
yControlBrushKey
como transparentes, lo que elimina el fondo azul cuando se hace clic o se selecciona elListBoxItem
.Luego, agregamos un desencadenador que cambia el fondo del botón a blanco cuando el mouse está sobre él utilizando la propiedad
IsMouseOver
.Esto debe resolver el problema del fondo azul claro al hacer clic o al pasar el mouse sobre el botón en el
ListBox
.