2011-01-18 28 views
7

databinding के माध्यम से पूरा पंक्ति को छिपाने वहाँ एक possiblity DataBinding के माध्यम से डेटा ग्रिड-पंक्तियों को छिपाने के लिए है:
अगर मैं एक visibilty-संपत्ति है कि एक बो या एक ViewModel का आइटम नहीं हैं, वहाँ एक तो बाध्यकारी घोषित करने के लिए एक संभावना है अगर संपत्ति अदृश्य हो और इसके विपरीत हो तो पंक्ति छिपी जाएगी?WPF डेटा ग्रिड

+0

यदि यह सब स्वाभाविक है क्यों नहीं बस समर्थन संग्रह में मॉडल डेटा को निकालने के लिए इतना है कि पंक्ति "छिपा" है और पीठ में मॉडल डेटा जोड़ने बनाने के लिए यह "दृश्यमान"? –

+0

@Aaron: दुख की बात है कि मैं स्रोत संग्रह की सामग्री को बदल नहीं सकता। – HCL

उत्तर

15

इसे RowStyle के माध्यम से करना संभव होना चाहिए। कुछ इस तरह:

<DataGrid> 
    <DataGrid.RowStyle> 
     <Style TargetType="DataGridRow"> 
      <Setter Property="Visibility" Value="{Binding Visibility}" /> 
     </Style> 
    </DataGrid.RowStyle> 
</DataGrid> 
+0

+1 और स्वीकार करें, महान काम करता है! – HCL

+1

मैं जोड़ सकता हूं कि आपकी बाध्यकारी संपत्ति को पंक्ति के लिए "संक्षिप्त" स्ट्रिंग आउटपुट को आउटपुट करना होगा (बूलियन मान नहीं)। – Johncl

+0

+1 @Jjohncl: वह बैंग ऑन था! –

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