在 WPFListView中,我的第一列如下:
<GridViewColumn x:Name="Id"
Header="#"
DisplayMemberBinding="{Binding (ItemsControl.AlternationIndex),
RelativeSource={RelativeSource AncestorType=ListViewItem}}"/>
這會自動以增量方式對行進行編號。如下圖所示:

現在我要做的是使第一行和第一列的內容的前景透明,我的意思是,我希望影像中顯示的 0 不顯示,所以我想使其前景透明。我正在嘗試在該列上應用觸發器并檢測值何時為 0,如果是,則使其前景透明以隱藏它,但我不知道該怎么做。
此外,我不知道是否可以從 1(不是 0)開始為該列編號,并從第二行而不是第一行開始編號。
有任何想法嗎?
uj5u.com熱心網友回復:
您可以使用TextBlock. 當交替索引為零時,TextBlock通過將其設定Visibility為Hidden(或)來添加一個簡單地隱藏 的樣式。Collapsed
<GridViewColumn x:Name="Id"
Header="#">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock DataContext="{Binding (ItemsControl.AlternationIndex), RelativeSource={RelativeSource AncestorType=ListViewItem}}"
Text="{Binding}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Style.Triggers>
<DataTrigger Binding="{Binding}" Value="0">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
交替索引是一個附加屬性,它會自動分配其值。
分配給 中的
ItemsControl.AlternationIndex每個專案容器ItemsControl。ItemsControl.AlternationIndex從 0 開始,遞增直到AlternationCount負 1,然后從 0 重新開始。
改變起始位置對其目的沒有意義,它只會改變交替,這就是為什么你不能改變它。你使用它的方式不是它的意思——盡管它有效。因此,如果您想擁有不同的值,您必須在資料項中為您的索引公開一個屬性并相應地設定它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/446089.html
