2011-09-27 18 views
5

को फ़्लैट करने के लिए कैसे करें मुझे एक नियंत्रण की आवश्यकता है जो एक वृक्षदृश्य की तरह व्यवहार करता है (एक वृक्ष संरचना से बांधता है, बाध्य वस्तु की IsExpanded संपत्ति के आधार पर बाल नोड्स का विस्तार करता है), फिर भी ग्रिड (कोई इंडेंटिंग या टॉगल छवियों) जैसे डेटा प्रदर्शित करता है)।एक WPF TreeView

विस्तृत पतन स्वचालित रूप से बाध्य वस्तु के आधार पर हो रहा है।

ट्री व्यू सही है, मुझे केवल ग्रिड कॉलम की तरह लंबवत फ्लैट बनाने के लिए इंडेंटेशन और त्रिकोण छवि को हटाने की आवश्यकता है।

मैं मैं TreeViewItem टेम्पलेट अधिभावी की कोशिश कर सकते लगता है, लेकिन है कि बस कुछ भी प्रदर्शित नहीं करता है ..

उत्तर

2

TreeView style on MSDN के आधार पर, कुछ इस तरह काम करना चाहिए:

<Style TargetType="TreeViewItem"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="TreeViewItem"> 
       <StackPanel> 
        <VisualStateManager.VisualStateGroups> 
         <VisualStateGroup x:Name="ExpansionStates"> 
          <VisualState x:Name="Expanded"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames 
             Storyboard.TargetProperty="(UIElement.Visibility)" 
             Storyboard.TargetName="ItemsHost"> 
             <DiscreteObjectKeyFrame KeyTime="0" 
              Value="{x:Static Visibility.Visible}" /> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </VisualState> 
          <VisualState x:Name="Collapsed" /> 
         </VisualStateGroup> 
        </VisualStateManager.VisualStateGroups> 
        <ContentPresenter ContentSource="Header" /> 
        <ItemsPresenter Name="ItemsHost" Visibility="Collapsed" /> 
       </StackPanel> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

धन्यवाद, मैं नियंत्रण templating के साथ चारों ओर खेलेंगे! –

+0

एक आकर्षण की तरह काम किया। आप महोदय एक सज्जन हैं! –

2

आप एक TreeListView की जरूरत

http://msdn.microsoft.com/en-us/library/ms771523.aspx

(यह TreeViewItem टेम्पलेट स्तर खूबसूरती से पर TreeView और ListView को जोड़ती है)
+0

चीयर्स यह वही है जो मैं ढूंढ रहा था! आपके पास जो लिंक है वह सही है, लेकिन एमएसडीएन तब वास्तविक कोड से लिंक नहीं करता है! कोड यहां पाया जा सकता है (http://archive.msdn.microsoft.com/wpfsamples) –