通用 Windows 平台 (UWP)
一个 Microsoft 平台,用于生成和发布适用于 Windows 桌面设备的应用。
32 个问题
今天,我遇到两个问题。
1. 我想制作一个带有“是/否”选项的弹出窗口,然后使用选择结果。
2. 另一件事是我正在使用Numberbox的 NuGet,因为 Visual Studio 2022 缺少它,或者我遗漏了什么?问题是这个 NuGet 并不完美,事实上它有漏洞。有没有一种方法可以找到一个完美的用来计算的文本框?
此问题由UWP C# Yes/No pop-up window and one more thing. - Microsoft Q&A总结而来.
你好
1. 我想制作一个带有“是/否”选项的弹出窗口,然后使用选择结果。
建议使用 MessageDialog 类,它可以满足您的需求。
Page.xaml
<Button Content="Button" Margin="694,478,0,0" VerticalAlignment="Top" Click="Button_Click" Height="104" Width="170"/>
Page.xaml.cs
<TextBlock x:Name="tb" Margin="203,182,203,649" FontSize="20"/>
private void Button_Click(object sender, RoutedEventArgs e)
{
this.tb.Text = "";
ShowMessageDialog();
}
private async void ShowMessageDialog()
{
var msgDialog = new Windows.UI.Popups.MessageDialog("I am a reminder") { Title = "Tip title" };
msgDialog.Commands.Add(new Windows.UI.Popups.UICommand("OK", uiCommand => { this.tb.Text = $"You click:{uiCommand.Label}"; }));
msgDialog.Commands.Add(new Windows.UI.Popups.UICommand("Cancel", uiCommand => { this.tb.Text = $"You click:{uiCommand.Label}"; }));
await msgDialog.ShowAsync();
}
2. 另一件事是我正在使用Numberbox的 NuGet,因为 Visual Studio 2022 缺少它,或者我遗漏了什么?问题是这个 NuGet 并不完美,事实上它有漏洞。有没有一种方法可以找到一个完美的用来计算的文本框?
直接使用 NumberBox 似乎不能满足您的需求。 在 TextBox 中使用这样的正则表达式,在用户输入非数字字符时删除该字符。
Page.xaml
<TextBox TextChanged="TextBox_TextChanged" />
Page.xaml.cs
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
var textbox = (TextBox)sender;
if (!Regex.IsMatch(textbox.Text, "^\\d*\\.?\\d*$") && textbox.Text != "")
{
int txtPos = textbox.SelectionStart - 1;
textbox.Text = textbox.Text.Remove(txtPos, 1);
textbox.SelectionStart = txtPos;
}
}
谢谢!
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收电子邮件通知,请按照我们的文档中的步骤启用电子邮件通知 此线程的相关电子邮件通知。