更新:2007 年 11 月
本範例說明如何建立及使用 LengthConverter 物件的執行個體。在本範例中,ListBoxItem 中的 Content 表示 Canvas 的位置值。Content 稍後則會轉換成 Double 的執行個體,這是定位時要用的引數。然後就會使用 LengthConverter 將值轉換回 String。使用 GetLeft 方法,可以在 TextBlock 項目中將值顯示為文字。
這個程式碼只顯示其中一部分。若要檢視完整的範例,請參閱Canvas 定位屬性範例。
範例
下列範例說明如何建立及使用 LengthConverter 物件的執行個體。定義一個名稱為 ChangeLeft 的自訂方法,這個方法會將 ListBoxItem (定義於另一個可延伸標記語言 (XAML) 檔案中) 的內容轉換成 Double 的執行個體,稍後再轉換成 String。這個方法會將 ListBoxItem 傳送給 LengthConverter 物件,此物件再將 ListBoxItemContent 轉換成 Double 的執行個體。請注意,這個值已經使用 ToString 方法轉換成 String。然後這個值會傳送回 SetLeft 方法,以及 Canvas 的 GetLeft 方法,以變更 text1 物件的位置。
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;
}