为了账号安全,请及时绑定邮箱和手机立即绑定

UWP:Button 内的TextBox,如何防止SpaceBar 触发Click 事件?

UWP:Button 内的TextBox,如何防止SpaceBar 触发Click 事件?

C#
米脂 2021-07-06 13:09:55
我想将一个 TextBox、一个 Label 和一个 SymbolIcon 放入一个按钮中,这样整个东西都是可点击的。一开始你只能看到标签和符号。通过单击按钮,标签将隐藏并出现文本框,您可以在其中键入一些文本。通过再次单击,标签再次出现,并带有新输入的文本,而 TextBox 消失。我的问题是,通过将焦点设置到 TextBox,按钮(父级)似乎也进入了焦点,因为每次按下空格键时,按钮的 Click 事件都会触发。我不希望这种情况发生,而 TextBox 具有焦点。XAML    <Button Click="ToggleTopic"            HorizontalAlignment="Stretch"            HorizontalContentAlignment="Stretch">        <Grid>                                                        <TextBlock x:Name="textBlockInfoTopic"                        Text=""                       HorizontalAlignment="Left"                       Margin="100,0,100,0"/>            <TextBox x:Name="textBoxTopic"                      PlaceholderText="enter Topic..."                     HorizontalAlignment="Stretch"                     Margin="100,0,100,0"                     Visibility="Collapsed"/>            <SymbolIcon x:Name="symbolTopicButton"                         Symbol="Add"                        HorizontalAlignment="Right"/>        </Grid>    </Button>C#private void ToggleTopic(object sender, RoutedEventArgs e)        {            if (textBoxTopic.Visibility == Visibility.Visible)            {                //non edit mode                textBoxTopic.Visibility = Visibility.Collapsed;                textBlockInfoTopic.Visibility = Visibility.Visible;                symbolTopicButton.Symbol = Symbol.Add;                textBlockInfoTopic.Text = textBoxTopic.Text;            }            else            {                //edit mode                textBoxTopic.Visibility = Visibility.Visible;                textBoxTopic.Focus(FocusState.Programmatic);                textBlockInfoTopic.Visibility = Visibility.Collapsed;                symbolTopicButton.Symbol = Symbol.Go;                textBlockInfoTopic.Text = "";            }         }我只想防止通过空格键触发事件。返回键应触发事件。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信