Dot-Net

當綁定的列表視圖沒有項目時顯示一些文本

  • May 11, 2012

以下是綁定到類的列表視圖的語法….

<ListView ItemContainerStyle="{StaticResource listViewStyle}" Name="transactionListView" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding}" MouseDoubleClick="transactionListView_MouseDoubleClick" IsSynchronizedWithCurrentItem="True" >
   <ListView.View>
       <GridView ColumnHeaderContainerStyle="{StaticResource gridViewHeaderColumnStyle}">
           <GridView.Columns>
               <GridViewColumn Width="70" Header="Serial" DisplayMemberBinding="{Binding Path=Serial}" />
               <GridViewColumn Width="100" Header="Date" DisplayMemberBinding="{Binding Path=Date, StringFormat={}{0:dd-MM-yyyy}}" />
               <GridViewColumn Width="200" Header="Seller" DisplayMemberBinding="{Binding Path=Seller}" />
               <GridViewColumn Width="200" Header="Buyer" DisplayMemberBinding="{Binding Path=Buyer}" />
               <GridViewColumn Width="70" Header="Bales" DisplayMemberBinding="{Binding Path=Bales}" />
           </GridView.Columns>
       </GridView>
   </ListView.View>
</ListView>

*當列表為空或不包含任何項目時,如何顯示一些文本?

訣竅在於覆蓋 ListView 的模板。當 ListView 中沒有項目時,您應該使用 TextBlock 設置 ControlTemplate:

<ListView Name="List" ItemsSource="{Binding Items}">
   <ListView.Style>
       <Style TargetType="ListView">
           <Style.Triggers>
               <Trigger Property="HasItems"
                        Value="False">
                   <Setter Property="Template">
                       <Setter.Value>
                           <ControlTemplate TargetType="ListView">
                               <TextBlock Text="No items..."/>
                           </ControlTemplate>
                       </Setter.Value>
                   </Setter>
               </Trigger>
           </Style.Triggers>
       </Style>
   </ListView.Style>
</ListView>

引用自:https://stackoverflow.com/questions/4918383