簡體   English   中英

WPF DefaultButton不能按預期工作

[英]WPF DefaultButton not working as expected

我在窗體上具有以下控件集:

在此處輸入圖片說明

它們每個都是單獨的用戶控件,並且按鈕設置為IsDefault="True"

在“快速搜索”文本框中鍵入並按Enter時,焦點將從該控件跳轉到“ CDV檢查”上的“ ...”按鈕。

在此處輸入圖片說明

這怎么可能? 我是否缺少某些東西,或者這是WPF中的問題?

感謝名單

您可以使用樣式觸發器來實現此目的,請查看下面的示例xaml。 如果需要,可以將資源共有的樣式移動。

<GroupBox Header="GroupBox1"
          Height="100"
          HorizontalAlignment="Left"
          Margin="35,49,0,0"
          Name="GroupBox1"
          VerticalAlignment="Top"
          Width="247">
  <Grid>
    <TextBox Height="23"
             HorizontalAlignment="Left"
             Margin="10,30,0,0"
             x:Name="TextBox1"
             VerticalAlignment="Top"
             Width="120" />

    <Button Content="Button1"
            Height="23"
            HorizontalAlignment="Left"
            Margin="136,29,0,0"
            Name="Button1"
            VerticalAlignment="Top"
            Width="75">
      <Button.Style>
        <Style  TargetType="Button">
          <Style.Triggers>
            <DataTrigger Binding="{Binding ElementName=TextBox1, Path=IsFocused }"
                         Value="True">
              <Setter Property="IsDefault"
                      Value="True"></Setter>
            </DataTrigger>
          </Style.Triggers>
        </Style>
      </Button.Style>
    </Button>
  </Grid>
</GroupBox>
<GroupBox Header="GroupBox2"
          Height="98"
          HorizontalAlignment="Left"
          Margin="35,155,0,0"
          Name="GroupBox2"
          VerticalAlignment="Top"
          Width="247">
  <Grid>
    <TextBox Height="23"
             HorizontalAlignment="Left"
             Margin="10,29,0,0"
             x:Name="TextBox2"
             VerticalAlignment="Top"
             Width="120" />
    <Button Content="Button"
            Height="23"
            HorizontalAlignment="Left"
            Margin="136,29,0,0"
            Name="Button2"
            VerticalAlignment="Top"
            Width="75">
      <Button.Style>
        <Style  TargetType="Button">
          <Style.Triggers>
            <DataTrigger Binding="{Binding ElementName=TextBox2, Path=IsFocused }"
                         Value="True">
              <Setter Property="IsDefault"
                      Value="True"></Setter>
            </DataTrigger>
          </Style.Triggers>
        </Style>
      </Button.Style>
    </Button>
  </Grid>

嘗試在每個父布局控件上設置FocusManager.IsFocusScope="true"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM