Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf {0}对于Setter.Value无效。唯一受支持的MarkupExtension类型是DynamicResourceExtension和BindingBase或派生类型_Wpf_Xaml_Resources - Fatal编程技术网

Wpf {0}对于Setter.Value无效。唯一受支持的MarkupExtension类型是DynamicResourceExtension和BindingBase或派生类型

Wpf {0}对于Setter.Value无效。唯一受支持的MarkupExtension类型是DynamicResourceExtension和BindingBase或派生类型,wpf,xaml,resources,Wpf,Xaml,Resources,我遇到了一个XAML问题,在一个项目中,我们在vs2010上使用自己的CustomBinding 在我的XAML中使用DynamicResource时,设计器会抛出以下表达式: CustomBinding对Setter.Value无效。唯一受支持的MarkupExtension类型是DynamicResourceExtension和BindingBase或派生类型 即使它没有在那个特定的扩展中使用 <SomeControl Value="{CustomBinding SomeValue}

我遇到了一个XAML问题,在一个项目中,我们在vs2010上使用自己的
CustomBinding
在我的XAML中使用
DynamicResource
时,设计器会抛出以下表达式:

CustomBinding对Setter.Value无效。唯一受支持的MarkupExtension类型是DynamicResourceExtension和BindingBase或派生类型

即使它没有在那个特定的扩展中使用

<SomeControl Value="{CustomBinding SomeValue} Style="{DynamicResource SomeStyle}"/>

样式中使用的Setter.Value仅支持某些硬编码类(StaticResource、DynamicSource和BindingBase)因为提供值必须推迟到应用样式时,而且似乎他们没有足够的时间来正确实现它,所以他们会检查支持的类并在以后应用它们。

您的
CustomBinding
是从
Binding
类派生出来的吗?它是从markupextension派生出来的假设安全吗您缺少的报价(
Value=“…
)在您的实际源代码管理中没有缺失吗?如果是的话,
CustomBinding
的定义是什么?如果正如您所说,它源自
MarkupExtension
,那么您的答案应该是显而易见的:您必须从
dynamicsourceextension
BindingBase
中派生,正如错误消息所示。是的,但是应用Style=“{DynamicResource SomeStyle}时出现错误“在任何地方都没有使用CustomBinding,我相信这是在抱怨错误的代码块——实际上是SomeStyle定义中的代码引发了问题。”如果您打开该特定文件的设计器,则可能会获得intellisense帮助。-您可能在某个地方使用了属性设置器,将值设置为类似MarkupExtension的值——这将不起作用,因为您正在为样式定义指定值(而不是目标对象——在我看来似乎很愚蠢;但不要向messenger开枪——我没有设计XAML!)。这太可悲了!它已经工作了一年多,现在我得到了这个愚蠢的错误,我的风格和预览不再工作了!有解决办法吗?仅返回
无效@我认为他们改变了.NET3.5和4.0之间的实现,所以有些东西的行为略有不同。然而,我解决了大部分问题,。问一个问题,我可能会提供帮助。我已经阅读了.Net Framework源代码,从技术上讲,这对我来说毫无意义,为什么Setter.Value拒绝将自定义MarkupExtensions作为值提供程序。我真的很想和工程师谈谈,他给这个编程了。资料来源: