Практическое руководство. Создание и использование объекта GridLengthConverter
Пример
В следующем примере показано, как создать и использовать экземпляр GridLengthConverter. В примере определяется пользовательский метод с именем changeCol
, который передает ListBoxItem для GridLengthConverter , преобразующий Content из ListBoxItem к экземпляру GridLength. Преобразованное значение затем передается обратно в качестве значения Width свойство ColumnDefinition элемент.
В примере также определяется второй пользовательский метод с именем changeColVal
. Этот пользовательский метод преобразует Value из Slider для String и затем передает значение обратно ColumnDefinition как Width элемента.
Обратите внимание, что отдельный XAML файл определяет содержание ListBoxItem.
private void changeColVal(object sender, RoutedEventArgs e)
{
txt1.Text = "Current Grid Column is " + hs1.Value.ToString();
}
private void changeCol(object sender, SelectionChangedEventArgs args)
{
ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
GridLengthConverter myGridLengthConverter = new GridLengthConverter();
if (hs1.Value == 0)
{
GridLength gl1 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
col1.Width = gl1;
}
else if (hs1.Value == 1)
{
GridLength gl2 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
col2.Width = gl2;
}
else if (hs1.Value == 2)
{
GridLength gl3 = (GridLength)myGridLengthConverter.ConvertFromString(li.Content.ToString());
col3.Width = gl3;
}
}