Поделиться через


Практическое руководство. Использование объекта LengthConverter

Обновлен: Ноябрь 2007

В этом примере описывается порядок создания и использования экземпляра объекта LengthConverter. В этом примере значения позиционирования Canvas представляются свойством Content в объекте ListBoxItem. Впоследствии свойство Content преобразуется в экземпляр объекта Double, который является обязательным аргументом для позиционирования. Затем значение преобразуется обратно к типу String с помощью объекта LengthConverter. Значение отображается в виде текста в элементе TextBlock с помощью метода GetLeft.

Этот код является сокращенным. Полный пример см. в разделе Пример использования свойств позиционирования полотна.

Пример

В следующем примере описывается порядок создания и использования экземпляра объекта LengthConverter. Определяется пользовательский метод ChangeLeft, который преобразует содержимое объекта ListBoxItem (определенное в отдельном файле Язык XAML (Extensible Application Markup Language)) в экземпляр типа Double, а затем в экземпляр типа String. Этот метод передает объект ListBoxItem объекту LengthConverter, который преобразует свойство ListBoxItemContent в экземпляр типа Double. Обратите внимание, что это значение уже было преобразовано к типу String с помощью метода ToString. Затем это значение передается обратно в метод SetLeft и метод GetLeft объекта Canvas, что позволяет изменить положение объекта 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;
        }

См. также

Задачи

Пример использования свойств позиционирования полотна

Ссылки

Canvas

LengthConverter