Установка свойства Style в коде - свойство зависимости Имя FontSizeProperty не существует в текущем контексте в библиотеке silverlight - PullRequest
0 голосов
/ 23 июля 2011

Это похоже на мой предыдущий вопрос, но это решение не решило эту проблему.

fontSizeProperty не распознается, когда я перемещаю метод из моего кода Silverlight MainPage позади (который работал) в новый классв библиотеке silverlight

using System.Windows.Controls;

namespace MyNameSpace
{
    public static class DataGridBuilder
    {
        private static Style BuildHeaderStyle(string tooltip)
        {
            Style newGridHeaderStyle = new Style(typeof(DataGridColumnHeader));
            newGridHeaderStyle.Setters.Add(new Setter { Property = FontSizeProperty, Value = 9.0 });
            newGridHeaderStyle.Setters.Add(new Setter { Property = FontWeightProperty, Value = FontWeights.Bold });
            return newGridHeaderStyle;
        }
    }
}

ПРИМЕЧАНИЕ. В MSDN для FontSizeProperty я включаю ссылку System.Windows и «использование System.Windows.Control»

На основании приведенных ниже ответов я изменил«Property = FontSizeProperty» до «Property = DataGridColumnHeader.FontSizeProperty» и т. Д., Например:

    private static Style BuildHeaderStyle(string tooltip)
    {
        FontWeight fw = FontWeights.Bold;
        Style newGridHeaderStyle = new Style(typeof(DataGridColumnHeader));
        newGridHeaderStyle.Setters.Add(new Setter { Property = DataGridColumnHeader.FontSizeProperty, Value = 9.0 });
        newGridHeaderStyle.Setters.Add(new Setter { Property = DataGridColumnHeader.FontWeightProperty, Value = FontWeights.Bold });
        newGridHeaderStyle.Setters.Add(new Setter { Property = DataGridColumnHeader.ContentTemplateProperty, Value = CreateDataGridHeaderTemplate(tooltip) });
        return newGridHeaderStyle;
    }

Ответы [ 2 ]

1 голос
/ 23 июля 2011

Я полагаю, что вы хотите Control.FontSizeProperty и Control.FontWeightProperty.

Ваш MainPage - это пользовательский элемент управления, который имеет Control в качестве суперкласса и, следовательно, наследует два вышеупомянутых свойства зависимости.Ваш статический класс не является подклассом Control, поэтому он не наследует эти свойства зависимостей.

1 голос
/ 23 июля 2011

FontSizeProperty определено на Control, из которого вы не производны, поэтому вы должны использовать Control.FontSizeProperty.

...