Freigeben über


Gewusst wie: Erstellen und Verwenden eines GridLengthConverter-Objekts

Beispiel

Im folgenden Beispiel wird das Erstellen und Verwenden einer Instanz von GridLengthConverter veranschaulicht. Im Beispiel wird eine benutzerdefinierte Methode mit dem Namen changeCol definiert, die ListBoxItem an ein GridLengthConverter-Objekt übergibt. Dieses konvertiert Content von ListBoxItem in eine Instanz von GridLength. Der konvertierte Wert wird dann als Wert der Width-Eigenschaft des ColumnDefinition-Elements zurückgegeben.

Außerdem wird im Beispiel eine zweite benutzerdefinierte Methode mit dem Namen changeColVal definiert. Diese benutzerdefinierte Methode konvertiert Value von Slider in String und gibt diesen Wert dann an ColumnDefinition als Width des Elements zurück.

Beachten Sie, dass eine separate Extensible Application Markup Language (XAML)-Datei den Inhalt eines ListBoxItem definiert.

Private Sub changeColVal(ByVal sender As Object, ByVal args As RoutedPropertyChangedEventArgs(Of Double))

    txt1.Text = "Current Grid Column is " + hs1.Value.ToString()
End Sub

Private Sub changeCol(ByVal sender As Object, ByVal args As SelectionChangedEventArgs)

    Dim li1 As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem)
    Dim myGridLengthConverter As System.Windows.GridLengthConverter = New System.Windows.GridLengthConverter()
    If (hs1.Value = 0) Then

        Dim gl1 As GridLength = CType(myGridLengthConverter.ConvertFromString(li1.Content.ToString()), GridLength)
        col1.Width = gl1

    ElseIf (hs1.Value = 1) Then

        Dim gl2 As GridLength = CType(myGridLengthConverter.ConvertFromString(li1.Content.ToString()), GridLength)
        col2.Width = gl2

    ElseIf (hs1.Value = 2) Then

        Dim gl3 As GridLength = CType(myGridLengthConverter.ConvertFromString(li1.Content.ToString()), GridLength)
        col3.Width = gl3
    End If
End Sub
        private void changeColVal(object sender, RoutedEventArgs e) 
        {
            txt1.Text = "Current Grid Column is " + hs1.Value.ToString();
        }

        private void changeCol(object sender, SelectionChangedEventArgs args)
        {
            ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
            GridLengthConverter myGridLengthConverter = new GridLengthConverter();
            if (hs1.Value == 0)
            {
                GridLength gl1 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
                col1.Width = gl1;
            }
            else if (hs1.Value == 1)
            {
                GridLength gl2 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
                col2.Width = gl2;
            }
            else if (hs1.Value == 2)
            {
                GridLength gl3 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
                col3.Width = gl3;
            }
        }

Siehe auch

Referenz

GridLengthConverter

GridLength