2

リストビューを特定の方法で表示しようとしていますが、不要な UI 要素のほとんどを削除できましたが、選択した項目の境界線がどこから来ているのかわかりません。

例で選択されているのはインデックス 0 です。その境界線を削除するにはどうすればよいですか? 問題の例

現在、背景とボーダーブラシを削除する次のコードです。

<ListView ItemsSource="{Binding Path=Items}" Name="MainListView">
            <ListView.ItemContainerStyle>
 <Style TargetType="ListViewItem">
                    <Style.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="Background" Value="{x:Null}" />
                            <Setter Property="BorderBrush" Value="{x:Null}" />
                            <Setter Property="BorderThickness" Value="0" />
                        </Trigger>

問題は、ラベルの上にマウスを移動すると、次のような 2 番目の灰色の行が表示されることに関連している可能性があります。ここに画像の説明を入力

4

2 に答える 2

0

現在、トリガーを使用してスタイルを変更していますが、デフォルトのスタイルは表示されていません。デフォルトで境界線をなくしたい場合は、スタイルに直接設定してください。

于 2012-05-25T18:34:52.337 に答える
0

for ListViewItem をオーバーライドしてTemplate書き換え、不要な効果を生み出す要素とトリガーを除外します。VS11 の XAML デザイナーまたは Blend で既定のテンプレートを抽出するか、MSDN リファレンスで見つけることができます。個人的には、単純にデフォルト値を{x:Null}. ビジュアル ツリーがすっきりしているほど、より良い結果が得られます。

于 2012-05-25T19:09:22.513 に答える