次の方法で共有


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

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

この例では、changeThicknessと呼ばれるカスタム メソッドを定義します。このメソッドは、最初に、別の Extensible Application Markup Language (XAML) ファイルで定義されている ListBoxItemの内容を Thicknessのインスタンスに変換し、後でコンテンツを Stringに変換します。 このメソッドは、ListBoxItemThicknessConverterContentのインスタンスに変換する ListBoxItem オブジェクトに Thickness を渡します。 この値は、BorderThicknessBorder プロパティの値として返されます。

この例は実行されません。

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

こちらも参照ください