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

The property "DataContext" does not exist in the "http://schemas.microsoft.com/expression/blend/2008" namespace

我在 WPF Styles 中使用 DesignTime DataContext 以获得完整的 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 它说:

The property "DataContext" does not exist in the "http://schemas.microsoft.com/expression/blend/2008" namespace

是否有隐藏此 "error message" 的解决方案?

你的代码中有这一行吗?

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

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

你可以试试:

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

不过我不太明白你的意思。

我通常会为整个视图提供设计时数据上下文,包括树视图项的数据。否则,我根本不会在设计器中显示任何树视图项。

就我个人而言,我有一个类似的错误,它抱怨 Style 不存在,我只需要将 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 切换到 xmlns:d="http://schemas.microsoft.com/expression/blend/2010" 即可再次编译。