Freigeben über


Gewusst wie: Verwenden eines LengthConverter-Objekts

Aktualisiert: November 2007

Dieses Beispiel veranschaulicht das Erstellen und Verwenden einer Instanz des LengthConverter-Objekts. In diesem Beispiel werden Canvas-Positionierungswerte durch Content in einem ListBoxItem dargestellt. Der Content wird später in eine Instanz von Double konvertiert, die ein erforderliches Argument für die Positionierung ist. Der Wert wird dann in einen String mithilfe von LengthConverter zurückkonvertiert. Der Wert wird als Text in einem TextBlock-Element mithilfe der GetLeft-Methode angezeigt.

Dieser Code wurde verkürzt. Das vollständige Beispiel finden Sie unter Beispiel für Canvas-Positionierungseigenschaften.

Beispiel

Das folgende Beispiel veranschaulicht das Erstellen und Verwenden einer Instanz des LengthConverter-Objekts. In dem Beispiel wird eine benutzerdefinierte Methode mit dem Namen ChangeLeft definiert, mithilfe derer der Inhalt von ListBoxItem (definiert in einer separaten Extensible Application Markup Language (XAML)-Datei) in Double und danach in String konvertiert wird. Durch diese Methode wird ListBoxItem an ein LengthConverter-Objekt weitergeleitet, durch das ListBoxItem Content in eine Instanz von Double konvertiert wird. Beachten Sie, dass dieser Wert bereits in String mithilfe der ToString-Methode konvertiert wurde. Dieser Wert wird anschließend wieder an die SetLeft-Methode und die GetLeft-Methode von Canvas übergeben, um die Position des text1-Objekts zu ändern.

Private Sub ChangeLeft(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)
    Dim li As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem)
    Dim myLengthConverter As New LengthConverter
    Dim db1 As Double = CType(myLengthConverter.ConvertFromString(li.Content.ToString()), Double)
    Canvas.SetLeft(text1, db1)
    Dim st1 As String = CType(myLengthConverter.ConvertToString(Canvas.GetLeft(text1)), String)
    canvasLeft.Text = "Canvas.Left = " + st1
End Sub
     private void ChangeLeft(object sender, SelectionChangedEventArgs args)
        {
            ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
            LengthConverter myLengthConverter = new LengthConverter();
            Double db1 = (Double)myLengthConverter.ConvertFromString(li.Content.ToString());
            Canvas.SetLeft(text1, db1);
            String st1 = (String)myLengthConverter.ConvertToString(Canvas.GetLeft(text1));
            canvasLeft.Text = "Canvas.Left = " + st1;
        }

Siehe auch

Aufgaben

Beispiel für Canvas-Positionierungseigenschaften

Referenz

Canvas

LengthConverter