programing

WPF에서 제출 버튼을 만드는 방법은 무엇입니까?

sourcejob 2023. 4. 29. 09:13
반응형

WPF에서 제출 버튼을 만드는 방법은 무엇입니까?

HTML의 아무 곳이나 누를 때form그것은 그것을 촉발합니다.action그것은 누르는 것과 같습니다.submit단추를 채우다아무 곳이나 누르면 이벤트가 발생하는 창을 만드는 방법은 무엇입니까?

단추의 속성을 true로 설정하여 해당 단추의 작업을 활성화하는 키를 활성화합니다.키에 대해 동일한 작업을 수행하는 속성도 있습니다.

할당PreviewKeyDown이벤트를 XAML의 창으로 이동한 다음 확인합니다.KeyEventArgs사용자가 키를 눌렀는지 확인하기 위해 코드 뒤에 있습니다.

XAML 코드:

<Window
    [...]
    PreviewKeyDown="Window_PreviewKeyDown">

코드 배경:

private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        // Whatever code you want if enter key is pressed goes here
    }
}

나는 그것을 발견했습니다.DatePicker컨트롤이 키 누름을 삼켜 기본 단추가 클릭되지 않습니다.저는 그것을 고치기 위해 이 이벤트 핸들러를 썼습니다.사용PreviewKeyUp확실하게 하기 위해.DatePicker기본 단추를 클릭하기 전에 날짜 형식 코드를 수행합니다.

private void DatePicker_PreviewKeyUp(object sender, KeyEventArgs e) {
    // event handler to click the default button when you hit enter on DatePicker
    if (e.Key == Key.Enter) {
        // https://www.codeproject.com/Tips/739358/WPF-Programmatically-click-the-default-button
        System.Windows.Input.AccessKeyManager.ProcessKey(null, "\x000D", false);
    }
}
<Button Name="btnDefault" IsDefault="true" Click="OnClickDefault">OK</Button>

IsDefault 속성 버튼을 True로 설정하여 이 작업을 수행할 수 있습니다.

Microsoft 문서에서 자세한 정보를 얻을 수 있습니다.

Button.Is 기본 속성

https://wpf.2000things.com/tag/isdefault/ 에 따르면

다음이 모두 참이면 IsDefaulted가 참입니다.

  1. 버튼의 IsDefault가 true로 설정되어 있습니다.
  2. 현재 일부 다른 컨트롤에 포커스가 있습니다.
  3. 현재 포커스가 있는 컨트롤 자체가 ENTER 키를 처리하지 않습니다.

저 같은 경우에는 때리려고 했습니다.Enter부터TextBox이미 Enter Key를 처리하고 있습니다.턴어라운드는 다음과 같습니다.AcceptsReturn = false위해서TextBox이 옵션은 여러 줄 텍스트 상자가 필요하지 않고 키 입력이 입력된 텍스트를 제출해야 하는 경우에 사용할 수 있습니다.또한 텍스트 바인딩을 입력하는 동안 업데이트해야 합니다.

<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}" 
 AcceptsReturn="False"/>

언급URL : https://stackoverflow.com/questions/4194470/how-to-make-a-submit-button-in-wpf

반응형