今回は、NumberBox コントロールの入力検証を有効にして、数値以外の不正な値が入力されないようにする方法について説明します。
環境
| 開発環境 | Microsoft Visual Studio Professional 2019 Preview Version 16.11.0 Preview 3.0 |
| Framework | Microsoft .NET Framework Version 4.8.04084 |
| その他 | Microsoft.Project Reunion 0.8.0-preview |
| Microsoft.ProjectReunion.Foundation 0.8.0-preview | |
| Microsoft.ProjectReunion.WinUI 0.8.0-preview | |
| Microsoft.UI.Xaml 2.6.1 |
数値の入力検証を有効にする
ValidationMode プロパティに InvalidInputOverwritten を設定すると数値の入力検証を有効にし不正な値が入力されないようにすることができます。
以下に InvalidInputOverwritten を設定する例を示します。誤って文字列などを入力してしまった場合は、以前に入力していた有効な数値に自動で置き換わります。
<Window
x:Class="NumberBoxSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:NumberBoxSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<muxc:NumberBox x:Name="myNumberBox1"
ValidationMode="InvalidInputOverwritten"/>
</StackPanel>
</Window>
コードで設定するには以下のようにします。
public MainWindow()
{
this.InitializeComponent();
myNumberBox1.ValidationMode = NumberBoxValidationMode.InvalidInputOverwritten;
}
WinUI 3 Tips一覧
Please follow and like us:

コメント