How to make Resharper resolve path for CustomBinding MarkupExtension

Я хочу создать некоторое расширенное расширение Binding-Markup-Extension, которое ведет себя так же, как обычное связывание WPF, но делает кое-что еще (использовать другие значения по умолчанию, возможно, добавить какое-то поведение и т. Д.). Код выглядит так:

public class CustomBindingExtension : Binding
{
  .. some extra properties and maybe overrides ...
}

Все работает нормально, включая XAML-intellisense, за исключением того, что я просто не могу заставить Resharper правильно разрешить мой Binding-Path. Т.е. с помощью этого кода я могу [Strg] + щелкнуть «CurrentText», и Resharper позволяет vs2010 перейти к коду, определяющему свойство CurrentText-Property.


  

Но используя мою привязку , которая правильно работает во время выполнения, Я просто получаю всплывающую подсказку при наведении курсора на «CurrentText», сообщающую мне, что это какой-то «MS.Internal.Design.Metadata.ReflectionTypeNode», и нет навигации с помощью [Strg] + Click.


  

Я пробовал следующее:

  • Производный от Binding
  • Производный от BindingDecoratorBase
  • Оставьте суффикс «Расширение» для моего класса CustomBinding
  • , поместите расширение разметки в отдельную сборку
  • Используйте атрибут ConstructorArgumentAttribute
  • Свойство типа string и типа PropertyPath для Path-Property
  • Я также просмотрел исходные классы Binding и BindingBase, но не смог найти больше отличий от моего кода. Есть идеи, что здесь должно помочь? Или это просто особая обработка Binding-MarkupExtension, которую я никак не могу получить для моих собственных MarkupExtensions?

    Обновление 16.03.2011: также может быть ошибка или недостаток Resharper, Jetbrains исследует проблему: http://youtrack.jetbrains.net/issue/RSRP-230607[12107 providedUpdate 10.12.2013: Между тем, похоже, что функция работает (с R # 7.1.3, возможно, и с более ранними версиями), я действительно использую подход с BindingDecoratorBase, и мне это очень нравится. Возможно, это сработает только в том случае, если ваше расширение MarkupExtension оканчивается на "Binding", а мое - так, поэтому я счастлив.

    60
    задан Simon D. 10 December 2013 в 08:13
    поделиться