Uno 바인딩 샘플 소개

x:Bind


UnoPlatform 공식 블로그에서 제공하는 Uno x:Binding 기술에 대한 이야기를 소개합니다.

Uno 개발을 생각하고 계신 분들은 시작에 앞서 한번 읽어보면 좋을 것 같습니다!!

공식 제공 예제 - AdvancedXBind

  • xBinding 문법
  • IValueConverter
  • ViewModel
  • 종속성 주입 (DI or IoC)
  • 메서드 바인딩

그리고 내용 중에서 메서드 바인딩을 한번 살펴보겠습니다.
(a.k.a 멀티바인딩)

View에서 메서드를 직접 바인딩 할 수 있습니다.

<TextBlock Grid.Row="4" 
    Grid.Column="1" 
    Text="{x:Bind ViewModel
        .CalculateDensity(ViewModel.Planet.Mass, ViewModel.Planet.Diameter)}"/>

ViewModel에서는 마치 컨버터처럼 메서드 생성

public double CalculateDensity(double mass, double diameter)
{
    // calculate volume (convert diameter in KM to radius in M)
    double volume = (4 / 3) * Math.PI * Math.Pow(diameter * 500, 3);

    return mass / volume;
}
2개의 좋아요