wpf 대화 상자에서 기본 버튼을 선택하는 방법은 무엇입니까?
WPF 대화 상자를 만들고 있습니다.그것은 우리의 평범한 것과 같습니다.messagebox
와 함께ok
그리고.cancel
단추를 채우다이러한 대화상자를 만드는 방법은 다음과 같습니다.Ok
대화 상자가 열리면 버튼이 선택됩니까?
창의 기본 단추를 설정하려면
기본 단추의 IsDefault 속성을 true로 설정합니다.
단추의 IsCancel 속성을 true로 설정하여 Windows의 Cancel 단추를 설정할 수도 있습니다.
창에서 선택됨(초점) 버튼을 설정하려면
특정 버튼을 선택하려면 다음과 같은 Focus 방법을 사용합니다.
yourButton.Focus();
Window_Loaded 이벤트에서 Window가 로드될 때 이 작업을 수행할 수 있습니다.
창을 열 때 특정 단추를 선택하려면 IsTabStop 속성이 true로 설정되어 있는지 확인하고 TabIndex 속성이 창의 다른 컨트롤보다 낮아야 합니다.
새 버튼 템플릿을 만들고 IsDefault=의 모양과 느낌을 변경하기만 하면 됩니다.화요일 상태.스타일을 만들고 상태를 수정했습니다.
<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>
기본값은 어떻습니까?
<Button Command="{Binding MyButtonCommand}"
Content="My Button Text"
IsDefault="True"/>
언급URL : https://stackoverflow.com/questions/7593231/how-to-select-default-button-in-wpf-dialog
'programing' 카테고리의 다른 글
Angular/Angular Material에서 매트 수평 스텝의 스텝을 프로그래밍 방식으로 이동할 수 있습니까? (0) | 2023.05.12 |
---|---|
스토리보드에서 선택한 탭 모음 항목의 색상 변경 (0) | 2023.05.12 |
목표-C 선언 @ 속성 속성(비원자, 복사, 강, 약) (0) | 2023.05.12 |
Git 오류: "올바른 액세스 권한이 있고 리포지토리가 있는지 확인하십시오." (0) | 2023.05.12 |
Apache POI를 사용하여 MS Excel 파일 형식 결정 (0) | 2023.05.12 |