Расширения разметки .net 4.0 WPF - PullRequest
1 голос
/ 15 марта 2011

Я вернулся с другой раздражающей проблемой.Проблема в .net 4.0 framework. Кажется, что у приведения типов TargetProperty есть какая-то проблема, и об этом также сообщается на форумах msdn.Я поднял код, который я использую здесь.Может кто-нибудь предложить мне решение?

Ссылка MSDN, которая говорит об этой проблеме, вставлена ​​ниже: http://social.msdn.microsoft.com/Forums/en/wpf/thread/931d7bff-90b6-4a70-bb0b-3a097e1301a1

 var targetHelper = (IProvideValueTarget)serviceProvider.GetService(typeof(IProvideValueTarget));
            targetProperty = targetHelper.TargetProperty as DependencyProperty;
            return ProvideValueInternal();</p>

<p>private object ProvideValueInternal()
        {
            object value = null;
            if (targetProperty != null)
            {
                IFontManager fontManager = DisplayResourceManager.Instance.FontManager;
                value = fontManager.GetFont(Key);
            }</p>

<code>        if (Converter != null)
        {
            value = Converter.Convert(value, targetProperty.PropertyType, null, CultureInfo.CurrentCulture);
        }

        return value;
    }
</code>

1 Ответ

1 голос
/ 16 марта 2011

Я не знаю, если люди решили не отвечать на этот вопрос, думая, что это глупо, или потому что они не знали ответа на вопрос. Но в любом случае, я дам решение, которое я нашел. В .net 4.0 targetHelper.TargetProperty не возвращает правильный ожидаемый тип, и вместо этого я хотел бы найти его из целевого объекта, как показано ниже

        if (targetHelper != null)
        {
            if (targetHelper.TargetObject is Setter)
            {
                targetProperty = (targetHelper.TargetObject as Setter).Property;
            }
        }
        if (targetProperty == null)
        {
            targetProperty = targetHelper.TargetProperty as DependencyProperty;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...