О, так здорово AG_E_PARSER_BAD_PROPERTY_VALUE - PullRequest
1 голос
/ 24 февраля 2010

Я пытаюсь немного расширить столбец таблицы данных, чтобы можно было рассчитывать ширину столбца в процентах, а не в абсолютном свете в серебряном свете. Таким образом, независимо от того, какой размер сетки, столбцы занимают определенный процент сетки.

Во всяком случае, это мой первый шаг

public static class DataGridColumnBehaviors
{
    public static readonly DependencyProperty WidthPercentageProperty =
        DependencyProperty.RegisterAttached("WidthPercentage", typeof(double?), typeof(DataGridColumnBehaviors),
            new PropertyMetadata(null, OnWidthPercentagePropertyChanged));

    public static double? GetWidthPercentage(DependencyObject d)
    {
        return (double?)d.GetValue(WidthPercentageProperty);
    }

    public static void SetWidthPercentage(DependencyObject d, double? value)
    {
        d.SetValue(WidthPercentageProperty, value);
    }

    public static void OnWidthPercentagePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
    {

    }
}

А в XAML я делаю

            <data:DataGridTemplateColumn MinWidth="200" 
                                         dataBehaviors:DataGridColumnBehaviors.WidthPercentage="5.0"
                                         Header="Name">
                <data:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Name}" />
                    </DataTemplate>
                </data:DataGridTemplateColumn.CellTemplate>
                <data:DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                        <TextBox Text="{Binding Name, Mode=TwoWay}" />
                    </DataTemplate>
                </data:DataGridTemplateColumn.CellEditingTemplate>
            </data:DataGridTemplateColumn>

Это создает следующее сообщение во время выполнения

AG_E_PARSER_BAD_PROPERTY_VALUE [Line: 85 Position: 100]

Строка 85 такова:

dataBehaviors:DataGridColumnBehaviors.WidthPercentage="5.0

Есть идеи?

1 Ответ

2 голосов
/ 24 февраля 2010

Вы не можете конвертировать из двойного в двойной? на уровне CLR, как это. И вы почти наверняка не хотите.

Silverlight использует double, а затем использует double.NaN и double.PositiveInfinity для представления «специальных» значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...