Estoy creando un cuadro de diálogo WPF. Es como nuestro messagebox
normal con los botones ok
y cancel
. ¿Cómo crear un cuadro de diálogo para que el botón Ok
se seleccione cuando se abre el cuadro de diálogo?¿Cómo seleccionar el botón predeterminado en el cuadro de diálogo wpf?
Respuesta
Para establecer una ventana de botón predeterminado
Ajuste del botón predeterminado IsDefault property true.
Tenga en cuenta que también puede establecer el botón Cancelar de una ventana configurando el botón IsCancel property en verdadero.
Para configurar el botón seleccionado (centrado) en una ventana
Si desea seleccionar un botón en particular, entonces utilizar el método de enfoque de esta manera:
yourButton.Focus();
que podría hacer esto cuando se carga una ventana (en el evento Window_Loaded).
Para seleccionar un botón en particular cuando se abre la ventana, asegúrese de que su IsTabStop property esté configurado en verdadero y asegúrese de que TabIndex property sea menor que cualquier otro control en la ventana.
simplemente cree una nueva plantilla de botón y cambie la apariencia para el estado IsDefault = Tue. Acabo de crear un estilo y he modificado el estado.
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
x:Class="WpfApplication7.Window3"
x:Name="Window"
Title="Window3"
Width="640" Height="480" FocusManager.FocusedElement="{Binding ElementName=test}">
<Window.Resources>
<Style x:Key="ButtonFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="2"
Stroke="red" StrokeThickness="1"
SnapsToDevicePixels="true" StrokeDashArray="1 2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="border" BorderThickness="1" BorderBrush="#FF040000" CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF7A7A7A" Offset="0"/>
<GradientStop Color="#FFE7E7E7" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsDefault" Value="True">
<Setter Property="Background" TargetName="border">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA76F6F" Offset="0"/>
<GradientStop Color="#FFE7E7E7" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsFocused" Value="True"/>
<Condition Property="IsDefault" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Background" TargetName="border">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC2BE5B" Offset="0.007"/>
<GradientStop Color="#FFE7E7E7" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</MultiTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="#FF01641D"/>
<Setter Property="BorderThickness" TargetName="border" Value="2"/>
<Setter Property="Background" TargetName="border">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF528159" Offset="0"/>
<GradientStop Color="#FFE7E7E7" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<Button x:Name="test" Content="Button" HorizontalAlignment="Left" Height="26" Margin="130,157,0,0" VerticalAlignment="Top" Width="164" Style="{DynamicResource ButtonStyle1}" IsDefault="True"/>
<Button Content="Button" Height="26" Margin="298,157,162,0" VerticalAlignment="Top" Style="{DynamicResource ButtonStyle1}"/>
<Button Content="Button" HorizontalAlignment="Right" Height="26" Margin="0,157,-6,0" VerticalAlignment="Top" Width="164" Style="{DynamicResource ButtonStyle1}"/>
</Grid>
- 1. Abrir el cuadro de diálogo en WPF MVVM
- 2. Tipo de entrada WPF/cuadro de diálogo?
- 3. Cuadro de diálogo Dojo con el botón de confirmación
- 4. Abrir el cuadro de diálogo de archivo y seleccionar un archivo usando controles WPF y C#
- 5. Mostrar el cuadro de diálogo "Seleccionar usuarios y grupos" de la aplicación WPF?
- 6. Teclas Esc e Intro en el cuadro de diálogo Cocoa
- 7. Impedir que el botón Atrás cierre un cuadro de diálogo
- 8. Cómo mostrar el icono apropiado en el cuadro de diálogo
- 9. jQueryUI cuadro de diálogo - no aparece el texto del botón
- 10. El cuadro de diálogo no modal de WPF representa el cuadro de texto no editable
- 11. Diálogo de Android, mantenga el cuadro de diálogo abierto cuando se presiona el botón
- 12. ¿Cómo cambiar el tamaño del botón en el cuadro de diálogo de confirmación de Jquery Ui?
- 13. WPF: Crear un cuadro de diálogo/solicitud
- 14. Jquery diálogo: Ocultar el botón
- 15. WPF MVVM: Cuadro de texto y botón de enlace predeterminado hace demasiado tarde actualización
- 16. Anular el cuadro de diálogo en Retroceder()?
- 17. ¿Cómo cambiar el texto del botón para los botones "Sí" y "No" en el cuadro de diálogo Cuadro de mensaje.Mostrar?
- 18. jQuery Confirmar el cuadro de diálogo en el botón ASP.NET OnClientClick
- 19. Cómo obtener el cuadro de diálogo de bloqueo con el botón de informe
- 20. ¿Dónde está el cuadro de diálogo de selección de archivos en WPF?
- 21. ¿Cómo reemplazar el cuadro de diálogo de búsqueda de Eclipse?
- 22. ¿Cómo cambiar el color predeterminado del cuadro de diálogo DatePicker y TimePicker en Android?
- 23. Deshabilitar el botón "imprimir" en el cuadro de diálogo de vista previa de impresión.
- 24. ¿Cómo cerrar jQuery Dialog en el cuadro de diálogo?
- 25. Cómo manejar el 'botón de retroceso' en Android cuando aparece un cuadro de diálogo de progreso
- 26. jQuery Diálogo desplazarse al elemento en el cuadro de diálogo
- 27. Seleccionar y copiar texto del cuadro de diálogo en wxPython
- 28. Cómo cambiar el color de fondo del cuadro de diálogo de alerta predeterminado de Android
- 29. Limitar los archivos que se pueden seleccionar usando el cuadro de diálogo Abrir archivo
- 30. ¿Por qué cerrar el cuadro de diálogo secundario anidado también cierra el cuadro de diálogo primario?
establecer el IsDefault = True para el botón Aceptar –
Es sólo permite ahorrar en el botón Enter, pero no demuestra el botón se selecciona – Abhishek