我有以下ListView
:設置的ListView行背景
<ListView>
<ListView.View>
<GridView/>
</ListView.View>
</ListView>
我想以編程方式設置第二行(例如)的背景爲紅色。 我該怎麼辦? 謝謝。
我有以下ListView
:設置的ListView行背景
<ListView>
<ListView.View>
<GridView/>
</ListView.View>
</ListView>
我想以編程方式設置第二行(例如)的背景爲紅色。 我該怎麼辦? 謝謝。
您可以使用類似的方法:
int index = 1;
ListViewItem row = ListView.ItemContainerGenerator.ContainerFromIndex(index) as ListViewItem;
row.BackGround = Brushes.Red;
謝謝,這有助於很多! – Nick
請在這裏澄清一件事尼克。你能告訴我你是否想讓第二排的顏色變成紅色。如果是這種情況,您可以遍歷列表視圖,然後在頂部保留一個計數變量,然後當count == 1時,您可以將列表view.background顏色更改爲紅色。如果你試過這個,那麼你能告訴我發生了什麼事。它是以錯誤還是什麼或什麼都沒有發生而告終。
如果有效,請告訴我代碼。 – Nick
可以使用AlternationCount
到該行的索引存儲在AlternationIndex
,然後使用觸發器來設置所述第二行的背景(索引1)爲紅色:
<ListView AlternationCount="{x:Static sys:Int32.MaxValue}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
...
</ListView>
AlternationCount
定義數在重新啓動到零之前要計數的行數。例如,如果設置爲2,則行的索引將爲0 1 0 1 0 1 ...,從而允許您僅繪製紅色的奇數行或偶數行。將它設置爲MaxValue
將永遠不會重新啓動計數,實際將AlternationIndex
設置爲實際索引。
我想改變不在XAML中的背景,但動態地(c#),「第二」行只是例如。 – Nick
檢查此鏈接。 http://stackoverflow.com/questions/6171502/change-background-color-of-listview-row-programmatically-wpf 感謝 普拉迪普 – pordi
@PradipTripathy我看到了,謝謝你,但是這並沒有回答我題。 – Nick