首页 > 其他分享 >WINUI 引入 CommunityToolkit.WinUI.UI进行数据验证

WINUI 引入 CommunityToolkit.WinUI.UI进行数据验证

时间:2023-07-08 18:12:51浏览次数:36  
标签:arr CommunityToolkit 验证 int WINUI WinUI var textbox

 

先在xaml命名空间中引入   xmlns:ui="using:CommunityToolkit.WinUI.UI"

textbox中进行IP验证如下:

            <TextBox x:Name="textBox" Width="200" Height="30" Background="AliceBlue" 
                     ui:TextBoxExtensions.CustomMask="2:[0-2],5:[0-9]"
                     ui:TextBoxExtensions.Mask="255.255.255.255" TextChanged="textBox_TextChanged"
                     ui:TextBoxExtensions.MaskPlaceholder=" "
                    
                    />
CustomMask
设置自定义的掩码,
"2:[0-2],5:[0-9]"
2代表:为0~2的数值,闭区间;
5代表:为0~9的数值,闭区间,为什么不用9是由于这个拓展包中9被定义为了数字,具有特殊的意义。

按上述定义,所以Mask中就为
"255.255.255.255"


另由于上述限制后并不能保证IP地址的正确性,于是就在
TextChanged中添加了相应事件,再次进行验证。
 private void textBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            var textbox = (TextBox)sender;
            var txt = textbox.Text;
            var arr=txt.Split('.');
            if (int.TryParse(arr[0],out int a0))
            {
                if (a0==0)
                {
                    textbox.BorderBrush = new SolidColorBrush(Colors.Red);
                    return;
                }
            }

            foreach (var item in arr)
            {
                if (int.TryParse(item, out int val)){
                    if (val>255)
                    {
                        textbox.BorderBrush = new SolidColorBrush(Colors.Red);
                        return;
                    }
                }
            }
            textbox.ClearValue(TextBox.BorderBrushProperty);
        }

验证不合格,于是将文本框的边框设置为红色,以期起到警示作用。

 

参考链接:TextBoxExtensions - Windows Community Toolkit | Microsoft Learn

 

标签:arr,CommunityToolkit,验证,int,WINUI,WinUI,var,textbox
From: https://www.cnblogs.com/chengcanghai/p/17537604.html

相关文章

  • WinUI ComboBox加载时不能正常显示绑定属性
    搞WINUI时发现下述问题:ComboBox的item1绑定了一个属性,但是程序在加载完成后,页面上并不能正常显示(已经设置了默认选择为ComboBox绑定属性那个item,但是就不正常);而TextBlock绑定相同的属性,是能正常显示的。 具体现象如下,左红色框中为TextBlock,右蓝色框中为ComboBox。 其xam......
  • WinUI 保证程序单开
     参考代码如下:protectedstaticvoidOnlyOneApp(){stringappName=typeof(App).Namespace;_=newMutex(true,appName,outboolcreateNew);if(!createNew){ShowNotification("提......
  • 聊聊MAUI、WinUI3和WPF的优势及劣势
    今天在群里聊到WinUI3的学习及发展,还有他那堪比玩具的使用体验,正好梳理一篇关于WinUI3、MAUI和WPF优劣势,我整理的不是很好,所以又让ChatGPT在生成了一遍,感觉整体还可以。看完可以相互讨论一下;引言:在应用程序开发领域,选择合适的框架对于开发人员和业务来说至关重要。本文将比较并......
  • CommunityToolkit.Mvvm系列文章导航
    包 CommunityToolkit.Mvvm (又名MVVM工具包,以前名为 Microsoft.Toolkit.Mvvm)是一个现代、快速且模块化的MVVM库。它是.NET社区工具包的一部分,围绕以下原则构建:平台和运行时独立 - .NETStandard2.0、 .NETStandard2.1 和 .NET6......
  • CommunityToolkit.Mvvm8.1 viewmodel使用-旧式写法(2)
     本系列文章导航https://www.cnblogs.com/aierong/p/17300066.htmlhttps://github.com/aierong/WpfDemo(自我Demo地址)  0.说明CommunityToolkit.Mvvm8.1有一个重大更新的功能:源生成器功能,它极大简化我们的mvvm代码但是本篇先总结一下原写法,下篇再总结源生成器......
  • wpf CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南
    CommunityToolkit.Mvvm包(又名MVVM工具包,以前名为Microsoft.Toolkit.Mvvm)是一个现代、快速且模块化的MVVM库。它支持:.NETStandard2.0、.NETStandard2.1和.NET6(UIFramework不支持) 文档地址:https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/......
  • .NET中的winform、wpf、winui和maui你都知道吗?
    前言    年初.NET工程师的求职者反馈不好找工作,尤其是B/S开发,C/S开发稍微好点。这种情况下有好多小伙伴都想转行了,于是了解了一下JAVA,比.NET还卷,还是走.NET内部转行吧......
  • WinUI中的新用法
    这里是指新的桌面开发框架WinUI3,WinUI2只是UWP的一个库。主要介绍了我在开发中遇到的常见的功能在WinUI3中不同与WPF或UWP的使用方式的写法。文件选择器WPF:OpenFileDia......
  • WinUI的单例实现方法
    在OnLaunched中处理单例打开App.xaml.cs文件,编辑OnLaunched方法protectedoverrideasyncvoidOnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgsargs){ va......
  • 第一个WinUI程序
    概述WinUI是Windows上最新的UI开发框架,属于WindowsAppSDK的一部分。对于开发者需要知道的是:开发工具为VisualStudio2019或VisualStudio2022。支持使用C+......