2
任何人都可以解释为什么我的DataTemplate
里面的不适用我的UserControl.Resources
元素中定义的样式,但第二个TextBlock
('测试B')呢?WPF中的ItemsControl/DataTemplate内没有样式继承?
我认为它可能与某个设置为不继承的依赖属性有关,但我无法确定。
<UserControl.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Padding" Value="8 2" />
</Style>
</UserControl.Resources>
<StackPanel>
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!--Padding does not apply-->
<TextBlock>Test A</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<!--Padding applies-->
<TextBlock>Test B</TextBlock>
</StackPanel>
可能的重复[为什么我的TextBlock/TextBox不适用来自基础样式的值?](http://stackoverflow.com/questions/7597455/why-doesnt-my-textblock-textbox-apply-values-从基础风格) – ASh
我不知道为什么会发生这种情况,但如果您将样式设置为x:Key,然后将其应用为静态资源,它将起作用。 – adminSoftDK