2009-10-02 18 views
6

मेरे पास ObservableCollection पर बाध्यकारी के साथ ListView है। इसके अलावा मैं ObservableCollection में सभी आइटम सूचीबद्ध कर रहा हूं। अब, क्या यह जांचने का कोई अच्छा तरीका है कि ObservableCollection खाली है, और एक वैकल्पिक xaml प्रदर्शित करता है?एक अवलोकन करने योग्य चयन करें, और यदि ऐसा है तो एक वैकल्पिक xaml प्रदर्शित करें!

उत्तर

8

आप ListView की HasItems निर्भरता संपत्ति का उपयोग कर सकते हैं। एक ट्रिगर के साथ, जब संपत्ति गलत होती है, तो आप ControlTemplate को बदल सकते हैं। यहां उदाहरण के रूप में दिया गया है:

<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> 
संबंधित मुद्दे