app.xamlでWPFツリービューにグローバルスタイルを適用する方法
-
29-09-2019 - |
質問
フォーカスが残っているときに、選択したアイテムをツリービューに表示するための次のコードを見つけましたが、コードを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コードはスタイルを認識しましたが、現在「リソーストレスタイルを解決できなかった」ことを示しています。
私は何が間違っているのですか?
別の(親)名前空間であるapp.xamlであるため、treestyleをスコープする必要がありますか?スタイルを使用して取得したら、他のプロパティを設定するための構文は何ですか?
解決
プロジェクトは当初、クラスライブラリとしてセットアップされました。プロジェクトファイルのどこかで、私は推測しています、それはwpfにapp.xamlを見るかどうかを伝えます、そしてそのクラスライブラリの場合、あなたがそのファイルを見るように具体的にそれを指示しない限り、それは決してそこを見ることはありません(私は辞書マージをしましたそれはうまくいくようです)。
以前はクラスライブラリだったことを思い出したとき、これを理解したので、コードを新しいプロジェクトにコピーしましたが、すべてが良かったです。
所属していません StackOverflow