방법: ZoomPercentageConverter를 사용하여 DocumentViewer의 Zoom 속성에 데이터 바인딩
업데이트: 2007년 11월
이 XAML(Extensible Application Markup Language) 예제에서는 ZoomPercentageConverter 형식 변환기를 사용하여 DocumentViewer.Zoom 속성의 데이터를 텍스트 컨트롤에 바인딩하는 방법을 보여 줍니다.
예제
<Window x:Class="SDKSample.Window1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.Resources>
<ZoomPercentageConverter x:Key="MyConverterKey" />
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<DocumentViewer Name="dvZoomSource" Grid.Row="0" />
<TextBox Grid.Row="1">
<TextBox.Text>
<Binding
ElementName="dvZoomSource"
Path="Zoom"
Converter="{StaticResource MyConverterKey}"
Mode="OneWay" />
</TextBox.Text>
</TextBox>
</Grid>
</Window>
작업 설명
이 예제에서는 Zoom 값에 대한 변경 내용이 데이터 바인딩된 TextBox에 즉시 반영됩니다. 데이터 바인딩을 통해 업데이트가 전파될 때마다 ZoomPercentageConverter 형식 변환기가 자동으로 호출됩니다. 이 형식 변환기는 Zoom의 double 값을 % 기호가 추가된 문자열 값으로 변환합니다.
이 예제에서는 속성 요소 구문 바인딩 선언을 사용하여 Zoom의 값을 TextBox의 Text 속성에 바인딩합니다.
바인딩 선언의 ElementName 절은 소스 요소의 Name(여기서는 "dvZoomSource")을 참조합니다.
바인딩 선언의 Path 절은 소스 속성의 이름(여기서는 Zoom)을 지정합니다.
Converter 절은 이 데이터 바인딩에 사용할 형식 변환기를 지정합니다. 이 경우 해당 절은 리소스 키(x:Key)를 Converter 절에서 참조되는 값에 일치시켜 로컬로 정의된 정적 리소스 매핑을 참조합니다. 위의 예에서 리소스 키는 "MyConverterKey"입니다. 키 자체는 현재 범위 내에서 고유해야 하는 임의의 문자열 값입니다. 로컬로 정의된 리소스는 위의 예제에 표시된 StaticResource 구문을 사용하여 참조되어야 합니다.
바인딩 선언의 Mode 절은 이것이 단방향 데이터 바인딩임을 지정합니다. Zoom의 소스 값에 대한 업데이트 내용은 대상 TextBox에 반영되지만 TextBox의 콘텐츠에 대한 변경 내용으로 인해 Zoom의 값이 변경되지는 않습니다.