次の方法で共有


方法 : GridLengthConverter オブジェクトを作成および使用する

更新 : 2007 年 11 月

使用例

GridLengthConverter のインスタンスを作成および使用する方法の例を次に示します。この例では、changeCol というカスタム メソッドを定義します。このメソッドは ListBoxItemGridLengthConverter に渡し、そこで ListBoxItemContentGridLength のインスタンスに変換されます。変換された値は、ColumnDefinition 要素の Width プロパティの値として戻されます。

また、この例では、changeColVal という名前の第 2 のカスタム メソッドも定義されています。このカスタム メソッドは、SliderValueString に変換した後、その値を要素の Width として ColumnDefinition に返します。

ListBoxItem のコンテンツは、別の Extensible Application Markup Language (XAML) ファイルで定義されます。

関連 XAML ファイルを含むサンプル全体については、「GridLengthConverter オブジェクトのサンプル」を参照してください。

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

参照

参照

GridLengthConverter

GridLength