【问题标题】:How i change ListView Item Background Color according to listview item HarfNotu value in wpf我如何根据 wpf 中的列表视图项 HarfNotu 值更改列表视图项背景颜色
【发布时间】:2013-04-14 03:10:12
【问题描述】:

我的 ListView 看起来像: http://oi36.tinypic.com/ek5n3o.jpg

我的列表视图 xaml:

<ListView  Name="notListView" Width="550" HorizontalAlignment="Left">
        <ListView.View>
        <GridView AllowsColumnReorder="true">
            <GridViewColumn Header="Ders Kodu" Width="100" DisplayMemberBinding="{Binding Path=DersKodu}" />
            <GridViewColumn Header="Ders Adı" Width="200" DisplayMemberBinding="{Binding Path=DersAdi}" />
            <GridViewColumn Header="Vize" Width="50" DisplayMemberBinding="{Binding Path=Vize}" />
            <GridViewColumn Header="Final" Width="50" DisplayMemberBinding="{Binding Path=Final}" />
            <GridViewColumn Header="Ortalama" Width="60" DisplayMemberBinding="{Binding Path=Ortalama}" />
            <GridViewColumn Header="Harf Notu" Width="60" DisplayMemberBinding="{Binding Path=Harf}" />
        </GridView>
    </ListView.View>
</ListView>

我的 .cs 代码:

notListView.ItemsSource = notGoruntule(1, 1); // notGoruntule() function returns an Arraylist, which contains my "Notlar" objects.

我试过了:

ListViewItem lvitem = (ListViewItem)notListView.Items[0];
lvitem.Background = Brushes.Red;

但是第一行抛出:

Unable to cast object of type 'OBS_Interface_5.Classes.Notlar' to type 'System.Windows.Controls.ListViewItem'.

我如何解决这个问题?

【问题讨论】:

    标签: wpf listviewitem


    【解决方案1】:

    你可以直接在xaml中StyleListViewItem

    例子:

    假设你的“Harf”变量是一个字符串,你可以试试

    <ListView Name="notListView"
              Width="550"
              HorizontalAlignment="Left">
      <ListView.Resources>
        <Style TargetType="{x:Type ListViewItem}">
          <Style.Triggers>
            <DataTrigger Binding="{Binding Harf}"
                          Value="1">
              <Setter Property="Background"
                      Value="Red" />
            </DataTrigger>
          </Style.Triggers>
        </Style>
      </ListView.Resources>
      ...
    

    现在任何“Harf”值为 1 的 ListView 行都将具有“红色”Background

    【讨论】:

    • 非常感谢你。但我不能投票赞成你的答案,因为我的声望点不够。
    • 你不知道我花了多少时间来实现这一目标。你绝对是天才。非常感谢!
    • 这太棒了。额外节省时间:确保您绑定的属性是public
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多