x:Static은 XAML에서 정적(static) 필드, 속성, 또는 열거형 멤버에 접근할 때 사용합니다.
xaml 단에서 미리 정의한 static 필드의 내용을 가져와 쓸수 있어서 정말 편리합니다.
주로 공유 리소스나 설정을 중앙 집중적으로 관리하고자 할 때 유용합니다.
static 필드를 정의합니다.
namespace MauiApp1.Defines;
public static class Constants
{
public static readonly string SfListViewTitle = "SfListView Test";
}
xaml 단에서 아래처럼 사용합니다.
<ContentPage x:Class="MauiApp1.SfListViewTestView"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
......
xmlns:local="clr-namespace:MauiApp1.Defines"
.......>
<Label
Text="{x:Static local:Constants.SfListViewTitle}"
HorizontalOptions="Center"
Margin="5">
</Label>
...
</ContentPage>
위 코드처럼 Text="{x:Static local:Constants.SfListViewTitle}" 이런식으로 사용하면 됩니다.
예제에서 local은 정의한 Constants 클래스가 있는 네임스페이스를 참조하기 위해 사용된 XAML 네임스페이스 접두어입니다.
아래는 열거형 사용 예시입니다.
x:Static은 열거형 값에도 사용될 수 있습니다. 예를 들어, UI 컨트롤의 특정 속성을 설정할 때 유용합니다.
public enum Theme
{
Light,
Dark,
System
}
XAML에서 열거형 값 사용
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:YourNamespace">
<Button BackgroundColor="{x:Static local:Theme.Dark}" />
</ContentPage>
x:Static을 통해 XAML에서 직접적으로 C# 코드의 정적 멤버에 접근하게 함으로써, 코드의 중복을 줄일수 있습니다.
staticExtension 확장을 통해 사용도 가능하지만 위 일반적인 방법이 인텔리센스가 사용가능해 코딩하기 편한 것 같습니다.
또한, 필드 명이 바뀐경우 자동바꾸기를 이용하면 xaml 단도 자동으로 바꿔주게됩니다.
만약 xaml 단에서 잘못 사용하고있는 경우 오류도 도출하기 때문에 관리하기가 용이합니다.
특정 문자열이나 데이터를 공유하여 사용하는 경우 x:static 을 이용하면 일관성 유지에 도움이 됩니다.
.NET MAUI xaml 단에서 x:DataType 과 BindingContext 의 차이점 (0) | 2024.04.26 |
---|---|
.NET MAUI Handler 사용하는 방법 (0) | 2024.04.26 |
.NET MAUI x:Reference 사용하기 (0) | 2024.04.26 |
.NET MAUI Platform(Android/iOS)에 따라 처리하는 방법 (0) | 2024.04.26 |
.NET MAUI Image/Font 추가하기 (0) | 2024.04.26 |