选择“项”时更改列表视图项内容的颜色
本文关键字:视图 颜色 列表 选择 | 更新日期: 2023-09-27 18:18:16
我想在选择ListViewItem
时反转ListViewItem
中FrameworkElement
的颜色(Fill
(。
问题是应该具有所选颜色的FrameworkElement
位于嵌套DataTemplateSelector
的另一个DataTemplate
中。
例:
<ListView>
<ListViewItem>
<ContentPresenter>
<ContentPresenter.ContentTemplateSelector>
<selector:IconTypeSelector>
<selector:IconTypeSelector.SuperImportantIcon>
<DataTemplate>
<Rectangle Width="27"
Height="27"
Fill="{DynamicResource ColorThatShouldChange}"><!--This is what i want to have the font color of my ListViewElements -->
</Rectangle>
</DataTemplate>
</selector:IconTypeSelector.SuperImportantIcon>
</selector:IconTypeSelector>
</ContentPresenter.ContentTemplateSelector>
</ContentPresenter>
</ListViewItem>
</ListView>
最好的情况是:我的FrameworkElement
(例如Rectangle
(绑定的颜色与ListViewItem
中文本的字体颜色相同,该颜色在选择时会反转。
阅读 如何设置 WPF 列表视图
选定项颜色? 和 WPF 列表视图突出显示颜色不会更改
您所要做的就是将您的颜色绑定到Bordes的后台。
您必须
具有所选项目的索引号。 在后端代码上。找到索引并设置系统,绘图,您选择的颜色。
for (int i = 0; i < list.Items.Count; i++)
{
if (list.Items[i].Bounds.Contains(e.Location) == true)
{
list.Items[i].BackColor = Color.Blue; // highlighted item
}
else
{
list.Items[i].BackColor = SystemColors.Window; // normal item
}
}