次の方法で共有


方法: ThicknessConverter オブジェクトを使用する

この例では、ThicknessConverter のインスタンスを作成し、それを使用して境界線の太さを変更する方法を説明します。

この例では、changeThickness という名前のカスタム メソッドを定義します。このメソッドでは、最初に別の Extensible Application Markup Language (XAML) ファイルで定義されている ListBoxItem のコンテンツを Thickness のインスタンスに変換し、その後でこのコンテンツを String に変換します。 このメソッドでは、ListBoxItemThicknessConverter オブジェクトに渡します。これにより、ListBoxItemContentThickness のインスタンスに変換されます。 次に、この値は、BorderBorderThickness プロパティの値として渡されます。

この例は実行できません。

private void changeThickness(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    ThicknessConverter myThicknessConverter = new ThicknessConverter();
    Thickness th1 = (Thickness)myThicknessConverter.ConvertFromString(li.Content.ToString());
    border1.BorderThickness = th1;
    bThickness.Text = "Border.BorderThickness =" + li.Content.ToString();
}
Private Sub changeThickness(ByVal sender As Object, ByVal args As SelectionChangedEventArgs)

    Dim li As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem)
    Dim myThicknessConverter As System.Windows.ThicknessConverter = New System.Windows.ThicknessConverter()
    Dim th1 As Thickness = CType(myThicknessConverter.ConvertFromString(li.Content.ToString()), Thickness)
    border1.BorderThickness = th1
    bThickness.Text = "Border.BorderThickness =" + li.Content.ToString()
End Sub

関連項目