दाएं तरफ विस्तारक बटन: इसे कैसे करें?
मैं लेबल के दाईं ओर विस्तारक बटन को स्थानांतरित करना चाहता हूं। यह कैसे करना है?
दाएं तरफ विस्तारक बटन: इसे कैसे करें?
मैं लेबल के दाईं ओर विस्तारक बटन को स्थानांतरित करना चाहता हूं। यह कैसे करना है?
आपको नियंत्रण के टेम्पलेट को पुन: स्थापित करना होगा। यहां एक उदाहरण दिया गया है: http://patconroy.wordpress.com/2008/12/18/restyling-the-wpf-expander-control/
आप FlowDirection
को RightToLeft
पर भी सेट कर सकते हैं, लेकिन इससे अन्य समस्याएं हो सकती हैं। उदाहरण के लिए यह विस्तारक की सामग्री के लिए प्रवाह दिशा भी बदलता है ताकि आपको इसे वापस सेट करने की आवश्यकता हो।
<Expander FlowDirection="RightToLeft">
<StackPanel FlowDirection="LeftToRight">
</StackPanel>
</Expander>
इस तक पहुंचने का एक और तरीका विस्तारक में किसी भी शीर्षलेख या सामग्री के बिना, जहां आप चाहें विस्तारक को स्थिति में रखना है। फिर BooleanToVisibilityConverter का उपयोग करके विस्तारक IsExpanded
संपत्ति पर अपनी सामग्री-नियंत्रण की दृश्यता को बाध्य करें।
<StackPanel>
<StackPanel.Resources>
<BooleanToVisibilityConverter x:Key="boolToVisibility" />
</StackPanel.Resources>
<DockPanel>
<Expander DockPanel.Dock="Right" x:Name="rightAlignedExpander" />
<TextBlock Text="Expanders header" VerticalAlignment="Center" />
</DockPanel>
<Grid Visibility="{Binding IsExpanded, ElementName=rightAlignedExpander, Converter={StaticResource boolToVisibility}}">
<TextBlock Text="Expanders content"/>
</Grid>
</StackPanel>
नकारात्मकता यह है कि हेडर क्लिक होने पर यह विस्तार नहीं होगा, लेकिन यदि आवश्यक हो तो इसे आसानी से कार्यान्वित किया जा सकता है।
व्यक्तिगत रूप से मुझे लगता है कि यह नियंत्रण के टेम्पलेट को पूरी तरह से पुनर्स्थापित करने के बजाय यह अधिक सरल और सीधा है। इसमें अतिरिक्त लाभ भी है कि यह विस्तारक को पहले से लागू किसी भी शैलियों को लागू करेगा, उदाहरण के लिए जब डेवएक्सप्रेस या टेलीरिक जैसे तृतीय पक्ष विषयों का उपयोग करते हैं।
धन्यवाद, अच्छा एक – Sender
@ उपयोगकर्ता 108: यदि यह आपके प्रश्न का उत्तर देता है, तो आपको इसे स्वीकार करने के रूप में चिह्नित करना चाहिए। –