gpt4 book ai didi

c# - Template10:AppBarButton:带有 TextBox 的内容不允许用户输入空格

转载 作者:行者123 更新时间:2023-11-30 16:50:33 25 4
gpt4 key购买 nike

当我尝试在 AppBarButton 元素中放置一个文本框时,我遇到了 template10 ( https://github.com/Windows-XAML/Template10) 的一个奇怪问题,空格键不起作用(当您按下空格键时没有任何反应,您需要等待 3/开始工作前 4 秒)。但是其他所有键都在工作...

有人知道我做错了什么吗?

这是简单的 XAML 代码:

<AppBarButton Icon="Find" Visibility="Visible">
<AppBarButton.Content>
<TextBox Width="100" />
</AppBarButton.Content>
</AppBarButton>

我遇到了同样的问题:

 <AppBarButton Visibility="Visible">
<AppBarButton.Content>
<TextBox Width="100" />
</AppBarButton.Content>
</AppBarButton>

@克里斯W:这就是你要我尝试的吗?添加弹出元素似乎很奇怪,不是吗?

<AppBarButton Visibility="Visible" Width="100">
<AppBarButton.Content>
<Popup IsOpen="True" >
<TextBox Width="100" />
</Popup>
</AppBarButton.Content>
</AppBarButton>

最佳答案

首先,当您可以使用 Content 属性时,这是一个奇怪的想法。但是,嘿,你是开发者,你知道你的应用程序。不是我。

好的,问题是因为 AppBarButton 清楚地捕获了空间并处理了它。您可以通过这种简单的方法克服这个问题:

<controls:PageHeader Content="Main Page">
<AppBarButton Width="250" Padding="0">
<AppBarButton.Template>
<ControlTemplate>
<TextBox Width="250" Height="32" Margin="0,8,0,0"
KeyUp="TextBox_KeyUp" />
</ControlTemplate>
</AppBarButton.Template>
</AppBarButton>
<AppBarButton Icon="Find" />
</controls:PageHeader>

然后这个处理程序:

private void TextBox_KeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Space)
{
var textBox = sender as TextBox;
textBox.SelectionStart = (textBox.Text += " ").Length;
}
}

工作起来很有魅力:

enter image description here

祝你好运!

关于c# - Template10:AppBarButton:带有 TextBox 的内容不允许用户输入空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com