小编Kyl*_*gas的帖子

在属性表达式中检测到循环

我正在开发一个VS 2012 Express WPF项目(C#代码隐藏),我收到错误"在属性表达式中检测到循环".在我继续之前,我知道为什么我得到它 - 我只是不确定该怎么做或者它是否需要处理,因为即使它出现在错误列表中并以蓝色加下划线,程序编译并运行得很好.我当然用谷歌搜索过,结果也各不相同.我的问题是两个人,但首先,这是破败的:

违规代码:

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<!-- setter properties -->
</Style>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它是Button的一种风格,它引用了Button,这是导致问题的原因.我读到的第一个解决方法涉及分离代码,如下所示:

<Style x:Key="ButtonStyleToApply" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
    <!-- setter properties -->
</Style>
<!-- and in another style dictionary, -->
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonStyleToApply}"/>
Run Code Online (Sandbox Code Playgroud)

......然后两个样式集进入不同的词典.显然,这也没有任何好处 - VS仍然嗅出我正在做的事情,但它仍然编译并运行良好.现在这是另一个解决方法:

"Visual Studio中的XAML Designer中存在一些体系结构的变化,这种变化使这种情况退化了.我们将来会努力改善这种体验,但是现在你可以通过不在Application对象中定义资源来解决这个问题(App. xaml),而是在本地文档(MainPage.xaml)中定义它们"

这是张贴在技术支持查询这里.(Connect.Microsoft.Com)

但我相信每个人的经验.我的同伴能告诉我什么?我的问题是两个部分.1.如果程序正在编译,我是否需要打扰解决方法?2.如果我很高兴,有没有办法告诉VS忽略它?我知道忽略它本身或VS的可能被认为是"不好的做法",但除此之外......?

wpf xaml visual-studio-2012

5
推荐指数
1
解决办法
1556
查看次数

标签 统计

visual-studio-2012 ×1

wpf ×1

xaml ×1