我发现以下代码用于在焦点离开时在树视图中显示所选项目,但是我无法将代码移动到App.xaml,因此任何UserControl都可以使用它。
这就是我想要的
<TreeView x:Name="trviewArchives" Width="141" Height="154" Canvas.Left="20" Canvas.Top="167" Background="{x:Null}" BorderBrush="#FF081827" BorderThickness="0">
<TreeView.Resources>
<TreeViewItem x:Key="bold" FontWeight="Bold" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Peru"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Peru"/>
</TreeView.Resources>
但我无法弄清楚如何制作出一种风格。我试过以下,接缝语法正确
<Style x:Key="TreeStyle" TargetType="{x:Type TreeView}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<TreeViewItem>
<Setter x:Name="bold" Property="FontWeight" Value="Bold" />
</TreeViewItem>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
在usercontrol中
<TreeView x:Name="trviewArchives" Width="141" Height="154" Canvas.Left="20" Canvas.Top="167" Background="{x:Null}" Style="{DynamicResource ResourceKey=TreeStyle}"
BorderBrush="#FF081827" BorderThickness="0" >
UserControl代码在某一时刻识别出样式,但目前显示“资源TreeStyle无法解析”。
我做错了什么?
我是否需要将TreeStyle作为范围,因为它在App.xaml中是一个不同的(父)命名空间?
一旦我使用该样式获得它,设置其他属性的语法是什么?
答案 0 :(得分:0)
该项目最初设置为类库。在项目文件的某个地方,我猜,它告诉WPF是否要查看App.xaml,如果它是ClassLibrary它永远不会看那里,除非你明确告诉它查看该文件(我做了一个字典合并这似乎有效。)
当我记得它以前是一个类库时,我想到了这一点,所以我将代码复制到一个新项目中,一切都很好。