WPF中listBox之类的空间选中项背景色的修改。

来源:互联网 发布:英语单词数据库 下载 编辑:程序博客网 时间:2024/06/05 15:12

在WPF的ListBox中经常需要修改项目的前景色与背景色。但由于常常是使用binding和ItemTemplate来生成,其中的Items是动态的。尝试在DataTemplate中写Triggers来控制,无效。纠结之下终于找到一种方法如下:

<ListBox x:Name="listbox" Margin="30"  ItemTemplate="{StaticResource messageTemplate}"  SelectionChanged="listbox_SelectionChanged">
            <ListBox.ItemContainerStyle>
                <Style TargetType="ListBoxItem">
                    <Style.Resources>
                        <!--SelectedItem with focus-->
                        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue" Opacity=".4"/>
                        <!--SelectedItem without focus-->
                        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="LightBlue" Opacity=".4"/>
                    </Style.Resources>
                </Style>
            </ListBox.ItemContainerStyle>
        </ListBox>

哎,,要试着多用Style吖。。习惯了winform,还真不习惯这种HTML式的编程理念。

不过话说回来,WPF真的很不好调试! 程序无法正常工作都不知道什么原因!

对于DataTemplate,Triggers的机制什么的以后有时间再慢慢研究...

原创粉丝点击