Мне нужно удалить выбранный фоновый цвет списка, используя эффект Xamarin. Я обнаружил, что просмотр списка содержит ресурсы по этой ссылке , но я не смог получить доступ к этим ресурсам с помощью элемента управления.
Вот что я пробовал:
Windows.UI.Xaml.Controls.ListView listView = (Windows.UI.Xaml.Controls.ListView)Control;
ListView elementListView = (ListView)Element;
var backgroundColor = elementListView.BackgroundColor.ToWindowsColor();
listView.Resources["SelectedBackground"] = new SolidColorBrush(backgroundColor);
listView.Resources["ListViewItemBackgroundSelected"] = new SolidColorBrush(backgroundColor);
listView.Resources["ListViewItemBackgroundSelectedPointerOver"] = new SolidColorBrush(backgroundColor);
listView.Resources["ListViewItemRevealBackgroundSelectedPressed"] = new SolidColorBrush(backgroundColor);
listView.Resources["ListViewItemSelectedBackgroundThemeBrush"] = new SolidColorBrush(backgroundColor);
Я не уверен, действительно ли какой-либо из этих ресурсов содержится в listView, потому что документация UWP по спискам не содержит раздела о ресурсах, как это делается для кнопок или других элементов управления.
Кто-нибудь имел успех с этим?
Редактировать
Я принял Cherry Bu - ответ MSFT ниже, так как это привело меня к обнаружению, что я могу использовать:
Windows.UI.Xaml.Controls.ListView listView = (Windows.UI.Xaml.Controls.ListView)Control;
ListView elementListView = (ListView)Element;
var backgroundColor = elementListView.BackgroundColor.ToWindowsColor();
listView.Resources["SystemControlHighlightListAccentLowBrush"] = new SolidColorBrush(backgroundColor);
listView.Resources["SystemControlHighlightListAccentMediumBrush"] = new SolidColorBrush(backgroundColor);
в действии. Это изменит только ресурс для списка, на который накладывается эффект, а не для всех списков в приложении.
Спасибо за помощь!