Share via


방법: LengthConverter 개체 사용

업데이트: 2007년 11월

이 예제에서는 LengthConverter 개체의 인스턴스를 만들고 사용하는 방법을 보여 줍니다. 이 예제에서는 Canvas 위치 지정 값이 ListBoxItemContent로 표현됩니다. Content는 나중에 위치 지정의 필수 인수인 Double 인스턴스로 변환됩니다. 그런 다음 이 값은 LengthConverter를 사용하여 다시 String으로 변환됩니다. 이 값은 GetLeft 메서드를 사용하여 TextBlock 요소에 텍스트로 표시됩니다.

이 코드는 약식으로 표현된 것입니다. 전체 샘플을 보려면 캔버스 위치 지정 속성 샘플을 참조하십시오.

예제

다음 예제에서는 LengthConverter 개체의 인스턴스를 만들고 사용하는 방법을 보여 줍니다. 별도의 XAML(Extensible Application Markup Language) 파일에 정의되어 있는 ListBoxItem의 콘텐츠를 Double 인스턴스로 변환하고 나중에 다시 String으로 변환하는 ChangeLeft라는 사용자 지정 메서드를 정의합니다. 이 메서드는 ListBoxItemLengthConverter 개체로 전달합니다. 이 개체는 ListBoxItemContentDouble 인스턴스로 변환합니다. 이 값은 ToString 메서드를 사용하여 이미 String으로 변환되었다는 점을 유의하십시오. 그런 다음 이 값은 text1 개체의 위치를 변경하기 위해 다시 CanvasSetLeft 메서드 및 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;
        }

참고 항목

작업

캔버스 위치 지정 속성 샘플

참조

Canvas

LengthConverter