【发布时间】:2015-07-23 23:38:33
【问题描述】:
我刚开始使用 WPF,但我遇到了样式问题。
我在UserControl 中为所有TextBlock 使用了一种样式。
<UserControl.Resources>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="10" />
</Style>
</UserControl.Resources>
它适用于第一个 StackPanel 中的 TextBlock,但不适用于 TreeView 中的 TextBlock。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.Row="1" Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Description}" />
</StackPanel>
<TreeView ItemsSource="{Binding Tests}" Grid.Row="2">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type dml:TestCase}" ItemsSource="{Binding Tasks}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Description}" />
</StackPanel>
</HierarchicalDataTemplate>
<!--Task Template-->
<HierarchicalDataTemplate DataType="{x:Type dml:Task}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
有没有办法在TreeView 中的每个TextBlock 上不设置样式?
【问题讨论】:
-
对不起,我没有意识到这个问题,请检查这个链接。 msdn.microsoft.com/en-us/library/… 为 TreeViewItem 你想给样式然后你需要给 TreeViewItem 样式。
-
我想要的只是在同一个 StackPanel 中的 TextBlock 之间的一些边距
-
@felix 我一直在关注您,看看您是否遇到了我可以帮助您解决的问题 - 到目前为止,人们更快地帮助了您 - 感谢您修复我的帖子 ;)
标签: wpf xaml mvvm treeview styles