Tworzę okno dialogowe WPF. To jest jak nasz normalny przycisk messagebox
z ok
i . Jak utworzyć takie okno dialogowe, aby przycisk Ok
został wybrany po otwarciu okna dialogowego?Jak wybrać domyślny przycisk w oknie dialogowym wpf?
Odpowiedz
Aby ustawić przycisk Domyślne okno za
Ustaw domyślny przycisk na IsDefault property true.
Należy pamiętać, że można również ustawić przycisk Anuluj okna, ustawiając wartość parametru IsCancel property przycisku na wartość true.
Aby ustawić wybrany przycisk (ostrość) w oknie
Jeśli chcesz wybrać konkretny przycisk następnie użyć metody ostrości tak:
yourButton.Focus();
Można zrobić to gdy ładuje się Window (w zdarzeniu Window_Loaded).
Aby wybrać określony przycisk podczas otwierania okna, sprawdź, czy jego wartość IsTabStop property jest ustawiona na wartość true i upewnij się, że jego TabIndex property jest niższa niż jakikolwiek inny element sterujący w oknie.
wystarczy utworzyć nowy szablon przycisku i zmienić wygląd IsDefault = Tue. Właśnie stworzyłem styl i zmodyfikowałem stan.
<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. Domyślny przycisk JavaFX w oknie alarmowym
- 2. Jak wybrać przycisk, który ma zostać kliknięty na Robotium w oknie dialogowym alertu?
- 3. Datepicker jquery w oknie dialogowym
- 4. Przycisk w niestandardowym oknie dialogowym nie odpowiada na zdarzenia kliknięcia
- 5. Chcę wyświetlić przycisk OK i anuluj w oknie dialogowym powiadomienia?
- 6. Tytuł tytułuDivider w oknie dialogowym
- 7. Ikony w oknie dialogowym Lista
- 8. Wyświetl android: dialogMessage w oknie dialogowym ListPreference
- 9. Jak wyświetlać odpowiednią ikonę w oknie dialogowym?
- 10. Jak ukryć klawiaturę w oknie dialogowym?
- 11. Jak usunąć tytuł w oknie dialogowym?
- 12. Jak dodać wiele przycisków w oknie dialogowym Jquery UI?
- 13. Wymuszenie wyboru użytkownika w oknie dialogowym
- 14. Wyrównaj jak w oknie dialogowym komentarza z komentarzem
- 15. Pozycja aktywności w oknie dialogowym z Androidem
- 16. Detektor Java w oknie dialogowym close
- 17. Dynamicznie ustawić tytuł w oknie dialogowym
- 18. Autoryzacja ADAL bez pytania w oknie dialogowym
- 19. Dopasuj tabelę HTML w oknie dialogowym Bootstrap
- 20. Chcę ustawić maksymalną wysokość w oknie dialogowym
- 21. pokazujący pasek postępu w oknie dialogowym alertu
- 22. TinyMCE otwarte w modalnym oknie dialogowym jqueryUI
- 23. Prefiltruj dane w oknie dialogowym Facebook Webbook
- 24. Niestandardowa zakładka w oknie dialogowym właściwości pliku
- 25. Jak wybrać przycisk radiowy?
- 26. MahApps - Jak wyłączyć automatyczny duży przycisk domyślny
- 27. Korzystanie z AppleScript, jak mogę kliknąć przycisk w oknie dialogowym, które nie ma nazwy/tytułu?
- 28. Jak wyświetlić adres URL w oknie dialogowym Modem Bootstrap: Kliknij przycisk, kliknij
- 29. Domyślny kursor w WPF?
- 30. Jak szybko wyrównać kontrolki w oknie WPF?
ustawić IsDefault = True dla przycisku OK –
To tylko pozwala zaoszczędzić na przycisk Enter, ale nie wykazujące przycisk zostanie wybrany – Abhishek