次の方法で共有


方法 : ZoomPercentageConverter を使用して DocumentViewer の Zoom プロパティをデータ バインディングする

更新 : 2007 年 11 月

この Extensible Application Markup Language (XAML) の例では、ZoomPercentageConverter 型コンバータを使用して、DocumentViewerZoom プロパティのデータをテキスト コントロールにバインドする方法を示します。

使用例

<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 の値を TextBoxText プロパティにバインドしています。

  • バインディング宣言の ElementName 句は、ソース要素の Name (この例では "dvZoomSource") を参照しています。

  • バインド宣言の中の Path 句により、ソース プロパティに名前が付けられます。この例では、Zoom です。

  • Converter 句では、このデータ バインディングに使用する型コンバータを指定しています。この場合、句はリソース キー (x:Key) と Converter 句で参照される値を照合することで、ローカルに定義された静的リソース マッピングを参照しています。上の例では、リソース キーは "MyConverterKey" です。キー自体は任意の文字列値で、現在のスコープ内で一意でなければなりません。ローカルに定義されたリソースは、上の例で示した StaticResource 構文を使用して参照される必要があります。

  • バインド宣言の Mode 句は、これが一方向のデータ バインドであることを示します。Zoom のソースの値への更新は、ターゲットの TextBox に反映されますが、TextBox の内容に変更を加えても Zoom の値は変更されません。

参照

概念

データ バインディングの概要

バインディング宣言の概要

参照

IValueConverter