xaml
다양한 XAML 방언의 차이점
수색…
비고
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)