は、私は本当にそれが私が探している効果を達成しますListView
(私は何か他のものを使用することに開いているを使用してメニューを構築しているよ。私がしたいと思います見てエミュレート以下である。ここで丸い角を持つ `ListView`メニューをスタイリング
私は現在、私のXAMLのために持っているものである。
<ListView
ItemsSource="{Binding Decisions}"
SelectedItem="{Binding SelectedDecision}"
HorizontalAlignment="Left"
BorderThickness="0"
Width="350"
FontSize="12">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel
Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Border
BorderThickness="1"
BorderBrush="#DDD"
CornerRadius="2">
<TextBlock
Text="{Binding Converter={StaticResource DecisionTypeNameConverter}}"
Padding="8"
Background="#EEE" />
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
私は項目を選択するまでこれは大丈夫探してメニューを作成します。項目が選択されると、それがされ醜いダークブルーに囲まれています。この外観を再現します(グラデーションエフェクトは不要です)。
私は 'SelectedItem'を必要とし、ブラシを美しく改変します。これはもう少しですが、アイテムが選択されると、私は自分の背景(たとえば)のスタイルをどのように設定しますか?私は 'ListViewItem'に対して' IsSelected'が 'True'のときにトリガを持っています。これは私の' Border'要素の背景色を変更したいのです。私のトリガーでプロパティを 'Border.Background'に設定することはそのトリックをしていません。 – Nosila
@ Nosilaあなたの ''タグで 'Background =" {TemplateBinding Background} "を設定してみてください。 'IsSelected'が真であるかどうかに基づいて背景を設定する' ListViewItem'スタイルにスタイルトリガを設定することができます。 –
Rachel
どうもありがとうございました。 :D – Nosila