Gewusst wie: Herstellen einer Datenbindung für die Zoom-Eigenschaft von DocumentViewer mithilfe von ZoomPercentageConverter

Aktualisiert: November 2007

In diesem Extensible Application Markup Language (XAML)-Beispiel wird veranschaulicht, wie die Daten der DocumentViewer.Zoom-Eigenschaft mit dem ZoomPercentageConverter-Typkonverter an ein Text-Steuerelement gebunden werden.

Beispiel

<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>

Aufgabenhinweise

  • In diesem Beispiel werden alle Änderungen am Wert von Zoom sofort im datengebundenen TextBox reflektiert. Der ZoomPercentageConverter-Typkonverter wird automatisch dann aufgerufen, wenn eine Aktualisierung durch die Datenbindung weitergegeben wird. Dieser spezielle Typkonverter übersetzt den Double-Wert von Zoom in einen Zeichenfolgenwert, der mit einem Prozentzeichen (%) angefügt wird.

  • In diesem Beispiel wird der Wert von Zoom mit einer Bindungsdeklaration für die Eigenschaftenelementsyntax an die Text-Eigenschaft von TextBox gebunden.

  • Die ElementName-Klausel in der Bindungsdeklaration verweist auf den Namen des Quellelements, der in diesem Fall "dvZoomSource" lautet.

  • Die Path-Klausel in der Bindungsdeklaration nennt die Quelleigenschaft, die in diesem Fall Zoom ist.

  • Die Converter-Klausel gibt einen Typkonverter an, der für diese Datenbindung verwendet werden soll. In diesem Fall bezieht sich die Klausel auf eine lokal definierte statische Ressourcenzuordnung, indem der Ressourcenschlüssel (x:Key) dem Wert zugeordnet wird, auf den in der Converter-Klausel verwiesen wird. Im oben stehenden Beispiel heißt der Ressourcenschlüssel "MyConverterKey". Der Schlüssel selbst ist ein beliebiger Zeichenfolgenwert, der innerhalb des aktuellen Bereichs eindeutig sein muss. Auf lokal definierte Ressourcen muss mit der StaticResource-Syntax aus dem oben stehenden Beispiel verwiesen werden.

  • Die Mode-Klausel in der Bindungsdeklaration gibt an, dass es sich um eine unidirektionale Datenbindung handelt. Updates auf den Quellwert von Zoom werden im Ziel-TextBox-Element reflektiert, während sich der Wert von Zoom bei Änderungen am Inhalt des TextBox-Elements jedoch nicht ändert.

Siehe auch

Konzepte

Übersicht über Datenbindung

Übersicht über Bindungsdeklarationen

Referenz

IValueConverter