gpt4 book ai didi

c# - XAML 编辑器提示 SharedResourceDictionary.Source 为 "Object does not match target type"

转载 作者:太空狗 更新时间:2023-10-29 23:38:03 25 4
gpt4 key购买 nike

我们在项目中使用 SharedResourceDictionary。该词典是根据 SO 上的几篇文章构建的。但我已将其简化为:

public class SharedResourceDictionary : ResourceDictionary
{
public new Uri Source
{
get { return base.Source; }
set { base.Source = value; }
}
}

VS2015新设计的XAML无法加载样式报错

1. The resource "..." could not be resolved.
2. Object does not match target type.
3. The resource "..." could not be resolved.
4. The resource "..." could not be resolved.
5. The resource "..." could not be resolved.

在以下标记中(带下划线的文本是它提示的地方):

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Style="_1_{StaticResource ...}__"
...
>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<utils:SharedResourceDictionary _2_Source="pack://application:,,,/.../Styles.xaml"__ />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>

<StackPanel Style="_3_{StaticResource ...}__">

资源和控件在不同的程序集中。

您是否有过同样的经历或知道解决方案?

更新:事实上,仅用 ResourceDictionary 替换 utils:SharedResourceDictionary 就可以正常工作。

更新 2:这个问题不是因为 Styles.xaml - 我创建了几乎为空的资源文件:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<SolidColorBrush x:Key="Test" Color="#FFFFFF" />
</ResourceDictionary>

和 Visual Studio Design 编辑器的提示完全一样。如果我只是将 utils:SharedResourceDictionary 替换为 ResourceDictionary,它就可以工作。

更新 3:SharedResourceDictionary 现在是简约的,但 XAML 编辑器仍然提示。

最佳答案

这很可能是 VS2015 的问题;我自己的 XAML 编辑器有问题,我在 VS2013 中编写并经过测试和工作的 XAML 文件出现错误。尝试在 VS2013 中打开项目,它可能可以解决问题。对此没有任何 promise 。

关于c# - XAML 编辑器提示 SharedResourceDictionary.Source 为 "Object does not match target type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31726759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com