私はインターネット上でいくつかの時間を検索し、ここで私の問題の解決策を見つけることができますが、私が試したソリューションはすべて機能しません。私はWPFで全く新しいことを最初に言わなければならないかもしれません。おそらくこれは本当の問題かもしれませんが、私は達成したいことを説明します。WPF listview - 選択と選択された項目の透明な背景
私は(WPFアプリケーションではありませんこれは、しかし、私は、WPFコントロールを追加することができます)別のアプリケーションにインポートされますWPFコントロールを構築しています、このコントロールは、単純なリストビューウィッヒでこれらの機能している: を - 透明な背景 - ボーダー私の他のアプリケーションでは、私は影で暗い背景を持っていると私はあなたが背景
は、インターネット上で検索を参照してくださいすることができますので、このコントロールが透明になりたいので、私はこれをやっている
角を丸くして私は、私は必要なものを見つけますしかし私が欠けているのは、選択したアイテムの背景をフォアグラウンドに変更し、マウスがアイテムの上にあるときに同じものを変更することです
<Window x:Class="TestWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="501" Width="792">
<Window.Background>
<ImageBrush ImageSource="C:\\BkGd.png"></ImageBrush>
</Window.Background>
<Grid>
<ListView Margin="10" Name="lvUsers" Background="Transparent" Foreground="White" FontStyle="Normal" FontWeight="Normal" FontFamily="Segoe UI" >
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Resources>
<!-- Foreground for Selected ListViewItem -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}"
Color="Black"/>
<!-- Background for Selected ListViewItem -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="Transparent"/>
</Style.Resources>
</Style>
</ListView.ItemContainerStyle>
<ListView.Template>
<ControlTemplate TargetType="{x:Type ListView}">
<Border CornerRadius="3" BorderThickness="1" BorderBrush="DarkGray">
<ScrollViewer>
<ItemsPresenter />
</ScrollViewer>
</Border>
</ControlTemplate>
</ListView.Template>
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
<GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
これは背景と丸みを帯びた角のボーダーのため正常に動作しますが、アイテムは、光で強調表示され続ける:これは私がテストのために使用していたコードである
を(それは明らかだ願っています)色と白いテキスト、whickは私には良くない。私が持っていると思うのは、強調表示された項目の代わりにマウスのホバーと選択された項目の両方のために透明な枠線を持つことです。
もう1つのことは、テンプレートを追加したので、ヘッダーはもう表示されませんが、ヘッダーも追加したいと思います。
誰でもこの作業を手伝ってもらえますか?事前に
EDIT 多くのおかげ: これは Imageを何が起こるかの画像です。代わりに透明な枠線を使用したいと考えています
EDIT 2: 背景は画像です。私は "ListView.View"の部分をコメントしようとしたと私はこのimageに示されているようにしたい結果があるが、項目は表示されません。コードで項目を追加する必要があります
は、あなたが持っているものの画像を投稿することができ、あなたが必要なもの? – Prajwal
ウィンドウの背景を透明に設定します。だからあなたは窓の背景色を見ているのです。 – Prajwal
@Prajwal私はポストで言ったように、背景はイメージです。私はしようとしたが、私はバックグラウンドのプロパティを追加することはできません。 ListView.Viewの部分が問題を引き起こすと思われます。 – Hydra