我怎么知道xaml已被弃用?

时间:2009-12-01 16:26:47

标签: wpf xaml controls deprecated

我在wpf中使用了以下xaml:

<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 个答案:

答案 0 :(得分:2)

一个好的静态分析工具应该可以告诉你何时使用已被弃用的东西。在某些情况下,C#编译器会告诉你。实际上,在这种情况下,R#和C#编译器都会认识到您使用标记为Obsolete的属性,如果您使用C#代码分配它。

不幸的是,目前,如果您在XAML中使用过时的属性或元素,R#静态分析过程或XAML编译器似乎都不会接受。但是,即使编辑XAML,R#中的intellisense功能也会显示不推荐使用的删除项目。

我肯定会查看fxcop以查看它是否适用于XAML并查看是否有规则来检查过时成员的使用情况。

修改

R# (or Resharper)是一个非常有用的Visual Studio插件,它提供了许多很酷的功能,包括一些编辑器内的静态分析。