KeiStory

.NET MAUI x:static 사용하기

 

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 을 이용하면 일관성 유지에 도움이 됩니다.

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band