方法 : ThicknessConverter オブジェクトを使用する
使用例
この例では、ThicknessConverter のインスタンスを作成し、それを使用して境界線の太さを変更する方法を説明します。
この例では、changeThickness という名前のカスタム メソッドを定義します。このメソッドは、まず別の Extensible Application Markup Language (XAML) ファイルで定義されている ListBoxItem のコンテンツを Thickness のインスタンスに変換し、次にそのコンテンツを String に変換します。 このメソッドは、ListBoxItem を ThicknessConverter オブジェクトに渡します。このオブジェクトは、ListBoxItem の Content を Thickness のインスタンスに変換します。 その後、この値は、Border の BorderThickness プロパティの値として戻されます。
この例は実行できません。
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
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();
}
参照
処理手順
方法 : ListBoxItem を新しいデータ型に変換する