2009-03-18 13 views
7

स्क्रॉल नहीं करेगा। मैं WPF विकास के लिए नया हूं, मेरे पास एक सूची दृश्य है और मैं हेडर पंक्ति को फ्रीज करना चाहता हूं ताकि वह स्क्रॉल न हो जाए स्क्रीन जब उपयोगकर्ता सूची स्क्रॉल करता है। XAML कोड, मैं विरासत में मिला है, इस तरह दिखता है:WPF: ListView शीर्षलेख पंक्ति को कैसे फ्रीज़ करें ताकि वह स्क्रीन

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
    <DockPanel> 
    <forms:BindableGrid DockPanel.Dock="Top" [code snipped] > 
    <ListView.View> 
     <GridView> 
     <GridViewColumn Header="ColA" DisplayMemberBinding="{Binding ColA}" /> 
     <GridViewColumn Header="ColB" DisplayMemberBinding="{Binding ColB}" /> 
      [etc] 

उत्तर

11

ListView पहले से ही इस करता है - यह एक आंतरिक ScrollViewer कि केवल वस्तुओं और नहीं हैडर स्क्रॉल है।

मुद्दा यह है कि अपने बाहरी ScrollViewer अपने बच्चे (DockPanel) है कि यह अनंत अंतरिक्ष उपलब्ध है बताता है, और DockPanel अपने बच्चों को यह बताता है, तो अपने ListView के रूप में यह प्रदर्शित करने के लिए की जरूरत है के रूप में ज्यादा स्थान ले समाप्त होता है आइटम और आंतरिक ScrollViewer दिखाई नहीं देता है।

यदि आप अपना बाहरी ScrollViewer लेते हैं, तो ListView को यह चुनना चाहिए कि इसमें सीमित स्थान है, और आंतरिक ScrollViewer दिखाई देगा।

यह आपके DockPanel में शेष सामग्री को स्पष्ट रूप से प्रभावित करेगा, इसलिए मैं देखता हूं कि क्या होता है और वहां से जाता है।

+0

शानदार! यह तय है, धन्यवाद। – hamishmcn

+0

शानदार। जिस तरह से मुझे वांछित सूची में सूची दृश्य देखने के लिए जरूरी संकेत था। आपको इस तरह की स्थितियों में स्क्रॉलव्यूअर की आवश्यकता नहीं है ... – AndyUK

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