想知道如何突出顯示一個gridview行,如果一些對象的值比另一個大? (考慮gridview綁定到一個observablecollection)如何突出顯示一個gridview行,如果一些對象的值比另一個大?
謝謝。
想知道如何突出顯示一個gridview行,如果一些對象的值比另一個大? (考慮gridview綁定到一個observablecollection)如何突出顯示一個gridview行,如果一些對象的值比另一個大?
謝謝。
您將需要實現一個轉換器做>的比較,但這種展示的一大亮點
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsParent}" Value="True">
<Setter Property="Background" Value="Gainsboro" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
把一個屬性的類您觀察到的集合中的項目,將被置爲真/假基於的在比較你需要。然後,您應該能夠綁定到DataGrid的ItemContainerStyle上的樣式的DataTrigger中的此屬性。
嘗試......
<DataGrid ItemsSource="{Binding YourObservableCollection}" >
<DataGrid.ItemContainerStyle>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding YourShouldHighlightProperty}" Value="True">
<Setter Property="Control.Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.ItemContainerStyle>
</DataGrid>
問題是「gridview」不是DataGrid。我不認爲
使用以下code.It wored我。
private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
try
{
foreach (loadtodatagrid item in gridview.ItemsSource)
{
var row = gridview.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
if (item.item1== item.item2)
{
row.Background = new SolidColorBrush(Colors.Yellow);
}
else
{
// row.Background = new SolidColorBrush(Colors.Green);
}
}
}
catch(Exception ep)
{
//do nothing....
}
LoadingRow = 「DataGrid_LoadingRow」 以數據網格在WPF
最簡單的模型來完成。您的物品級別類應包含一個屬性,該屬性存儲您正在進行的任何比較的結果,然後根據此結果使用轉換器並更改物品行的背景。 –