Как я могу знать, что xaml устарела? - PullRequest
1 голос
/ 01 декабря 2009

Я использовал следующий xaml в wpf:

<Style TargetType="{x:Type Border}">
  <Setter Property="BitmapEffect">
    <Setter.Value>
        <BitmapEffectGroup>
            <DropShadowBitmapEffect ShadowDepth="1"/>
        </BitmapEffectGroup>
    </Setter.Value>
  </Setter> 
</Style>

Когда я обнаружил, что DropShadowBitmapEffect теперь устарел в пользу DropShadowEffect:

<Style TargetType="{x:Type Border}">
    <Setter Property="Effect">
        <Setter.Value>
            <DropShadowEffect></DropShadowEffect>
        </Setter.Value>
    </Setter>
</Style>

Но я знаю это по счастливой случайности !! Как я могу узнать, что определенный элемент управления, написанный на xaml, теперь устарел ??

1 Ответ

2 голосов
/ 01 декабря 2009

Хороший инструмент статического анализа должен быть в состоянии сказать вам, когда вы используете что-то, что устарело. В некоторых случаях вам скажет компилятор C #. Фактически, в этом случае и R #, и компилятор C # поймут тот факт, что вы используете свойство, помеченное как Obsolete, , если вы назначаете его в коде C #.

К сожалению, в настоящее время не похоже, что процесс статического анализа R # или компилятор XAML подхватят, если вы используете устаревшие свойства или элементы в XAML. Тем не менее, похоже, что функция intellisense в R # удалит элементы, которые устарели, даже при редактировании XAML.

Я бы определенно проверил fxcop , чтобы посмотреть, будет ли он работать с XAML, и посмотреть, есть ли правило для проверки использования устаревших членов.

Редактировать

R # (или Resharper) - это полезный плагин для Visual Studio, который предоставляет множество интересных функций, включая статический анализ в редакторе.

...