私は、各ノードにアイコンと説明文があるTreeViewを持っています。しかし、私はどのノードも選択できないようにしています。代わりに、各ノードがボタンとして機能するようにします。ユーザーが押すとコマンドが実行されます。ボタンやハイパーリンクのようには見えないかもしれません。ボタン付きツリービュー
これまで私が試したことです。問題は、テキストが青色で、テキストに下線が引かれていることです。さらに、いつかノードが選択され、したがって青色になります。
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type vm:ListGroupViewModel}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Text}" FontWeight="Bold" ></TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type vm:ListNodeViewModel}">
<TextBlock>
<Hyperlink TextDecorations="{x:Null}" Command="{Binding ClickCommand, Mode=OneTime}">
<StackPanel Orientation="Horizontal">
<Image Margin="0,2,2,0" Source="{Binding Icon}" />
<TextBlock Text="{Binding Text}" />
</StackPanel>
</Hyperlink>
</TextBlock>
</DataTemplate>
</TreeView.Resources>
素晴らしいです。 1つの詳細を除いて、うまく動作します。選択されたグループは、通常、青色の背景と白い前景を持つ。これで、背景は白のままですが、テキストは白に変わります。つまり、選択するとテキストが消えます。 Lyssna 電話番号 Ordbok - Visaサービスをご利用いただけません.06 .its0.your0.their0.his0.her – magol
申し訳ありませんが、\t情報が不十分なため、あなたの問題を理解できません。たとえば、フォアグラウンド/バックグラウンドを設定する2つのデータテンプレートを作成する必要がある理由と、選択時にツリー項目を操作する方法を理解できません。詳細、コード、イメージ、説明が役立ちます。 –
他のノードを含むノードにはアイコンがなく、リーフノードとは異なる書式を持ちます。だから私はそれらをフォーマットするためにHierarchicalDataTemplateを使用します。しかし、他のノードを含むノードを選択すると、テキストの色は自動的に白に変更されます。 しかし、私はそれを解決することができました: 私には1つの質問があります。ハードコーディング「ブラック」を避けるためにはどうすればよいですか。 「{x:Static SystemColors」を使用することはできますか? –
magol