“http://schemas.microsoft.com/expression/blend/2008”命名空间中不存在“DataContext”属性

时间:2018-03-26 07:34:34

标签: wpf xaml resharper

我在DataContext内部使用DesignTime WPF Styles来获得完整的IntelliSense支持。

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:alarm="clr-namespace:Foo.Alarm;assembly=HtCore"
    mc:Ignorable="d">

    <Style TargetType="TreeViewItem" d:DataContext="{d:DesignInstance alarm:HtAlarmBase}">

    </Style>

</ResourceDictionary>

Designer highlights并说:

  

http://schemas.microsoft.com/expression/blend/2008”命名空间

中不存在“DataContext”属性

error

是否有隐藏此“错误消息”的解决方案?

3 个答案:

答案 0 :(得分:6)

你可以尝试:

<Style TargetType="TreeViewItem">
    <d:Style.DataContext>
        <x:Type Type="alarm:HtAlarmBase" />
    </d:Style.DataContext>
</Style>

尽管如此,我并没有真正关注你所处的位置。

我通常会为整个视图提供设计时datacontext,包括树视图项的数据。如果没有这个,我根本就没有任何树形图项目可以在设计师中展示。

答案 1 :(得分:1)

我个人遇到一个类似的错误,即抱怨样式不存在,我只好将xmlns:d="http://schemas.microsoft.com/expression/blend/2008"切换为xmlns:d="http://schemas.microsoft.com/expression/blend/2010"才能重新编译。

答案 2 :(得分:0)

你的代码中有这一行吗?

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

如果是,请尝试清理(构建&gt;清理)您的解决方案。