首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找出风格问题的成因

找出风格问题的成因
EN

Stack Overflow用户
提问于 2012-03-22 09:05:39
回答 5查看 104关注 0票数 2

在大型的WPF-项目设置中,填充按钮不会产生任何影响。没有样式,模板等设置在按钮上,但它仍然不会使用我的填充。

代码语言:javascript
运行
复制
<StackPanel>
    <Button Padding="20, 20">Hello</Button>
</StackPanel>

我在一个全新的项目中尝试过这个,它的效果就像一种魅力。显然,在项目中的某个地方有某种全局样式,模板导致了这种情况。无论是在xaml文件中的某个地方,还是在某个资源文件中。由于这个项目相当庞大,所以我每件事都不可能完成。

如何调试这个?我能看看是什么覆盖了垫子吗?

我试着用Snoop 2.7.0四处窥探,但它并没有告诉我多少。对于如何处理这类错误有任何提示吗?

编辑

我向ValueSource查询了一些属性:

  • Padding=Local
  • ContentTemplate=Default
  • Template=Style
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-22 10:22:03

这个特殊的问题是由App.xaml中包含的资源中定义的样式造成的。

这里的重要教训是,没有x:Key属性的样式将影响目标类型的所有元素,正如所描述的这里

<Style*TargetType="*Button上执行广泛的通配符搜索会产生可能影响我的按钮的潜在样式列表。我找到了一个没有x:Key属性的,注释掉了,只是想看看!垫子起作用了。

票数 0
EN

Stack Overflow用户

发布于 2012-03-22 09:14:32

DependencyPropertyHelper.GetValueSource方法呢?

http://msdn.microsoft.com/en-us/library/system.windows.dependencypropertyhelper.getvaluesource.aspx

票数 1
EN

Stack Overflow用户

发布于 2012-03-22 09:42:13

MSDN中有一个关于依赖属性值优先的页面。

这个问题为什么重要呢?当涉及到依赖属性值时,很少有人真正知道优先级的顺序。

例如,您知道在DP的CoerceValueCallback中设置的任何值都会覆盖任何其他集合吗?

我建议你浏览这个链接,从顶部开始(最强的一组,覆盖任何东西)到底部(最弱的一组,会被任何东西覆盖),在那里有一个你的值被设定的水平。

但是,如果你看看名单,你会注意到你已经排在第三位了!局部值所以你只有两个层次:动画和价值强制;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9819110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档