2
私はWindowsの普遍的なアプリケーションで作業しています。リストビューを選択した背景色を変更したい。システムのデフォルトで選択されている背景色が青で、灰色が必要です。データをリストビューにバインドするためにデータテンプレートを使用しました。UWPのListViewでデフォルトで選択されたフォーカスされた背景色を変更するには?
コード
のDataTemplate
<Page.Resources>
<DataTemplate x:Name="datatemplate1" x:DataType="data:storedata">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Text="{x:Bind name}"
x:Phase="1"
x:Name="product_name_layout"
Style="{ThemeResource BaseTextBlockStyle}"
TextWrapping="NoWrap"
Foreground="#FF080808"
Margin="2,3,0,0"
FontSize="12"
/>
<TextBlock x:Name="status_title_layout" FontSize="12" Foreground="Gray" Style="{ThemeResource BaseTextBlockStyle}" Visibility="Visible" SelectionHighlightColor="#FFB1B4BE" Margin="2,5,0,0" Text="SKU:" Grid.Column="1" Grid.Row="1"></TextBlock>
<TextBlock Grid.Column="1"
Grid.Row="0"
Text="{x:Bind status}"
x:Phase="2"
Foreground="Gray"
FontSize="12"
Style="{ThemeResource BaseTextBlockStyle}"
Margin="32,5,0,0"
x:Name="sku_layout"/>
</Grid>
</DataTemplate>
</Page.Resources>
リストビュー:
<ListView x:Name="MasterListView"
UseLayoutRounding="False"
ScrollViewer.VerticalScrollMode="Enabled"
BorderBrush="#FFA70EAA"
SelectionChanged="OnSelectionChanged"
IsItemClickEnabled="True"
ShowsScrollingPlaceholders="False"
ItemTemplate="{StaticResource datatemplate1 }"
ItemClick="OnItemClick"
Grid.Column="0"
Grid.Row="1"
>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
あなたが簡単に理解できるように、私はまた、いくつかのスクリーンショットを入れてください。
画像
このようなコードを編集したばかりです。SelectedBackground = "DarkGrey"しかし、それはうまくいきませんでした。 –
最高のソリューションを提供してくれてありがとうございます。私は20のリストビューを自分のアプリケーションに持っています。このことをすべてのリストビューに適用したいのですが、どのようにスタイルを一般化できるのでしょうか? –
元のListViewテンプレートを書き換えることができないのではないかと思います。このスタイルをすべてのListViewに追加する必要があります。このスタイルをApp.xamlファイルに入れて、参照なしでどこでも使用できれば最善のことです。 –