728x90
728x170
▶ ValidateEntryTextChangedAction.cs
namespace TestProject;
/// <summary>
/// 엔트리 텍스트 변경시 검증 액션
/// </summary>
public class ValidateEntryTextChangedAction : TriggerAction<Entry>
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Protected
#region 호출하기 - Invoke(entry)
/// <summary>
/// 호출하기
/// </summary>
/// <param name="entry">엔트리</param>
protected override void Invoke(Entry entry)
{
bool isValid = Double.TryParse(entry.Text, out double result);
entry.TextColor = isValid ? Colors.Black : Colors.Red;
}
#endregion
}
728x90
▶ MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="TestProject.MainPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TestProject">
<StackLayout
HorizontalOptions="Center"
VerticalOptions="Center">
<Entry x:Name="entry"
WidthRequest="300"
Text=""
Placeholder="텍스트를 입력해주시기 바랍니다.">
<Entry.Triggers>
<EventTrigger Event="TextChanged">
<local:ValidateEntryTextChangedAction />
</EventTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
728x90
그리드형(광고전용)
'C# > MAUI' 카테고리의 다른 글
[C#/MAUI/.NET6] CompareStateTrigger 엘리먼트 사용하기 (0) | 2022.05.07 |
---|---|
[C#/MAUI/.NET6] AdaptiveTrigger 엘리먼트 사용하기 (0) | 2022.05.07 |
[C#/MAUI/.NET6] StateTrigger 엘리먼트 사용하기 (0) | 2022.05.07 |
[C#/MAUI/.NET6] Trigger 엘리먼트 : EnterActions/ExitActions 속성에서 TriggerAction<T> 객체 사용하기 (0) | 2022.05.06 |
[C#/MAUI/.NET6] MultiTrigger 엘리먼트 사용하기 (0) | 2022.05.06 |
[C#/MAUI/.NET6] DataTrigger 엘리먼트 사용하기 (0) | 2022.05.06 |
[C#/MAUI/.NET6] Style 엘리먼트 : Triggers 속성을 사용해 스타일에서 트리거 설정하기 (0) | 2022.05.06 |
[C#/MAUI/.NET6] Keyboard 엘리먼트 : KeyboardFlags 열거형 사용하기 (0) | 2022.05.05 |
[C#/MAUI/.NET6] SearchHandler 엘리먼트 : ItemTemplate 속성 사용하기 (0) | 2022.05.05 |
[C#/MAUI/.NET6] Shell 엘리먼트 : SearchHandler 첨부 속성을 사용해 셸 검색 사용하기 (0) | 2022.05.05 |