수색…


비고

XAML은 Silverlight, Windows Phone, Windows RT 및 UWP 응용 프로그램에 사용됩니다. 다양한 XAML 방언 사이의 미묘한 차이로 인해 코드를 공유하거나 코드를 변환하는 것이 바람직하지 않은 경우가 있습니다. 이 주제는 이러한 차이점에 대한 간략한 설명을 제공하기 위해 노력합니다.

컴파일 된 데이터 바인딩 : {x : Bind} 태그 확장

데이터 처리는 XAML로 작업 할 때 필수적입니다. UWP 응용 프로그램 용 XAML 방언은 바인딩 유형 인 {x : Bind} 태그 확장을 제공합니다.

{Binding XXX} 및 {x : Bind XXX} 작업은 x : : Bind 확장이 컴파일 시간에 작동하여 디버깅 기능 (예 : 중단 점)이 향상되고 성능이 향상된다는 점에서 거의 동일합니다.

<object property="{x:Bind bindingPath}" />

x : Bind 마크 업 확장은 UWP 앱에서만 사용할 수 있습니다. 자세한 내용은 MSDN 문서 ( https://msdn.microsoft.com/en-us/windows/uwp/data-binding/data-binding-in-depth)를 참조하십시오 .

Silverlight, WPF, Windows RT의 대안 : 표준 {Binding XXX} 구문을 사용하십시오.

<object property="{Binding bindingPath}" />

XAML에서 네임 스페이스 가져 오기

대부분의 경우 XAML 파일에 네임 스페이스를 가져와야합니다. 이 작업은 다양한 XAML 변형에 따라 다릅니다.

Windows Phone, Silverlight, WPF에서는 cl-namespace 구문을 사용합니다.

<Window ... xmlns:internal="clr-namespace:rootnamespace.namespace"
            xmlns:external="clr-namespace:rootnamespace.namespace;assembly=externalAssembly"
>

Windows RT, UWP는 다음 구문을 사용합니다.

<Page ... xmlns:internal="using:rootnamespace.namespace"
            xmlns:external="using:rootnamespace.namespace;assembly=externalAssembly"
>

다중 바인딩

다중 바인딩은 WPF 개발 전용 기능입니다. 한 번에 여러 값에 바인딩 할 수 있습니다 (일반적으로 MultiValueConverter와 함께 사용됩니다).

<TextBox>
    <TextBox.Text>
        <MultiBinding Converter="{StaticResource MyConverter}">
            <Binding Path="PropertyOne"/>
            <Binding Path="PropertyTwo"/>
        </MultiBinding>
    </TextBox.Text>
</TextBox>

WPF 이외의 플랫폼은 다중 바인딩을 지원하지 않습니다. 보기 및 변환기에서 코드를 뷰 모델로 이동하는 것과 같은 다른 솔루션을 찾거나이 기사와 같은 타사 비헤이비어를 활용해야합니다. http://www.damirscorner.com/blog/posts/20160221-MultibindingInUniversalWindowsApps.html)



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow