方法 : LengthConverter オブジェクトを使用する
更新 : 2007 年 11 月
この例では、LengthConverter オブジェクトのインスタンスを作成および使用する方法を示します。ここでは、Canvas の配置の値は、ListBoxItem の Content によって表されます。Content は、配置に必要な引数である Double のインスタンスに後で変換されます。次に、LengthConverter を使用して、この値は再度 String に変換されます。この値は、GetLeft メソッドを使用して TextBlock 要素にテキストとして表示されます。
このコードは省略されています。サンプル全体を確認するには、「Canvas の位置決めのプロパティのサンプル」を参照してください。
使用例
LengthConverter オブジェクトのインスタンスを作成および使用する方法を次の例に示します。ChangeLeft という名前のカスタム メソッドを定義し、このメソッドで、別の Extensible Application Markup Language (XAML) ファイルで定義されている ListBoxItem のコンテンツを Double のインスタンスに変換し、その後で String に変換します。このメソッドは、ListBoxItem を LengthConverter オブジェクトに渡します。このオブジェクトは、ListBoxItem の Content を Double のインスタンスに変換します。この値は、ToString メソッドを使用して既に String に変換されていることに注意してください。この値は、text1 オブジェクトの位置を変更するために、Canvas の SetLeft メソッドと GetLeft メソッドに渡されます。
Private Sub ChangeLeft(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)
Dim li As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem)
Dim myLengthConverter As New LengthConverter
Dim db1 As Double = CType(myLengthConverter.ConvertFromString(li.Content.ToString()), Double)
Canvas.SetLeft(text1, db1)
Dim st1 As String = CType(myLengthConverter.ConvertToString(Canvas.GetLeft(text1)), String)
canvasLeft.Text = "Canvas.Left = " + st1
End Sub
private void ChangeLeft(object sender, SelectionChangedEventArgs args)
{
ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
LengthConverter myLengthConverter = new LengthConverter();
Double db1 = (Double)myLengthConverter.ConvertFromString(li.Content.ToString());
Canvas.SetLeft(text1, db1);
String st1 = (String)myLengthConverter.ConvertToString(Canvas.GetLeft(text1));
canvasLeft.Text = "Canvas.Left = " + st1;
}