.net - Style BasedOn 突然不起作用

标签 .net wpf styles wpf-controls

这些简单的样式突然失效了。直到今天他们都工作得很好。

<Style x:Key="textColumnElementStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
    <Setter Property="Padding" Value="5,1" />
</Style>

<Style x:Key="textColumnEditingElementStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
    <Setter Property="Padding" Value="2,0" />
</Style>

这两个都显示 BasedOn 属性上的错误。

The resource "{x:Type TextBlock}" could not be resolved.
The resource "{x:Type TextBox}" could not be resolved.

如果我复制并粘贴其中一种样式,则粘贴的样式不会出现错误。

<Style x:Key="noErrorOnThisStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
    <Setter Property="Padding" Value="5,1" />
</Style>

<Style x:Key="textColumnElementStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
    <Setter Property="Padding" Value="5,1" />
</Style>

<Style x:Key="textColumnEditingElementStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
    <Setter Property="Padding" Value="2,0" />
</Style>

最佳答案

事实上,在您的情况下,不需要 BasedOn 属性。就这么写

<Style x:Key="textColumnElementStyle" TargetType="{x:Type TextBlock}">
    <Setter Property="Padding" Value="5,1" />
</Style>

<Style x:Key="textColumnEditingElementStyle" TargetType="{x:Type TextBox}">
    <Setter Property="Padding" Value="2,0" />
</Style>

未设置BasedOn时,BaseOn指向TargetType属性指定的类型的默认样式。

问候

克劳德

关于.net - Style BasedOn 突然不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473963/

相关文章:

.net - 我应该使用代码覆盖率工具吗?

.net - 如何解决 windows-10 webbrowser shellfolderview 滚动错误?

c# - 客户端 - 服务器身份验证 - 使用 SSPI?

wpf - 获取要传播的附加属性继承

c# - 中间层中异步 WCF 服务调用和将数据返回到 UI 层的质量设计

c# - .net 4 string[]参数默认值设置

c# - 误解数据绑定(bind)基础知识和 DataContext——说来话长

html - CSS 拆分边框颜色

reactjs - 当用户选择其中一个选项时,向 ButtonGroup 中的按钮添加样式

html - :before causes elements to be unselectable