2009-10-02 4 views

Odpowiedz

8

Można użyć właściwości zależności HasItems listy ListView. W przypadku wyzwalacza, gdy właściwość ma wartość false, można zmienić ControlTemplate. Oto przykład:

<ListView ItemsSource="{Binding Items}"> 
    <ListView.Style> 
    <Style TargetType="{x:Type ListView}"> 
     <Style.Triggers> 
     <Trigger Property="HasItems" Value="False"> 
      <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type ListView}"> 
       <Border SnapsToDevicePixels="true" 
         Background="{TemplateBinding Background}" 
         BorderBrush="{TemplateBinding BorderBrush}" 
         BorderThickness="{TemplateBinding BorderThickness}"> 
        <TextBlock Text="No items" 
          HorizontalAlignment="Center" 
          VerticalAlignment="Center"/> 
       </Border> 
       </ControlTemplate> 
      </Setter.Value> 
      </Setter> 
     </Trigger> 
     </Style.Triggers> 
    </Style> 
    </ListView.Style> 
</ListView>