2011-02-07 8 views
5

के बाद मेरी सूचीदृश्य जो एक वर्ग से आबद्ध है के लिए वाक्य रचना है ....प्रदर्शन कुछ पाठ जब आबद्ध सूचीदृश्य कोई आइटम

<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> 

* मैं कैसे कुछ पाठ प्रदर्शित कर सकते हैं जब सूची खाली है या शामिल कोई वस्तु नहीं?

उत्तर

16

यह चाल ListView के टेम्पलेट को ओवरराइड करने में है। आप TextBlock के साथ अपने ControlTemplate सेट ListView में कोई आइटम नहीं देखते हैं जब चाहिए:

<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> 
+1

केवल एक छोटी सी समस्या है ... यह ग्रिडव्यूक्यूम्स हेडर छुपाता है .... वैसे भी मैं इसमें देखता हूं और यह सुनिश्चित करने की कोशिश करता हूं कि इस शैली को listviewitem पर लागू किया जा सकता है और सूचीदृश्य स्वयं नहीं ... –

+0

पहली बात दिमाग में आया है - टेक्स्टब्लॉक को कंट्रोल टेम्पलेट से पहले डुप्लिकेट लिस्टव्यू घोषणा (आइटमसोर्स के बिना, लेकिन ListView.View के साथ) (आपको एक्सपैपल के लिए उन्हें स्टैकपैनल के साथ लपेटना चाहिए)। –

+0

वांछित परिणाम प्राप्त करने में सक्षम नहीं :-( –

2

ListView स्वयं ही इस कार्यक्षमता की आपूर्ति नहीं करता है। सबसे आसान तरीका ListView के सामने टेक्स्टब्लॉक को इसके दृश्यता सेट को संकुचित करने के साथ रखना है। जब आप अपनी सूची में कोई आइटम नहीं रखते हैं तो आप इसे दृश्यमान बना सकते हैं।

यदि आपको विशिष्ट के साथ मदद की ज़रूरत है, तो कृपया अपना प्रश्न विस्तृत करें।

+0

मुझे लगता है कि इस तरह से यह करने के लिए है, लेकिन मैं जहां मैं उपरोक्त कोड में texblock डालूँ के रूप में समझ नहीं पा रहा हूँ और इसे कैसे प्राप्त करें। –

संबंधित मुद्दे