एक विंडो में मेरे पास कुछ फाइलें निर्दिष्ट करने के लिए DockPanel
एस की एक सूची है। प्रत्येक डॉकपैनल में टेक्स्टबॉक्स (पथ के लिए) और एक बटन (फ़ाइल के लिए ब्राउज़ करने के लिए) होता है।डब्ल्यूपीएफ डॉकपैनल पहला बच्चा शेष स्थान का उपयोग करता है
मैं एक साधारण WPF पेज निर्मित किया है समस्या यहाँ असर दिखाना चाहते:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="150"
Height="22">
<DockPanel>
<TextBox HorizontalAlignment="Stretch"/> <!-- path to file -->
<Button Content="..." DockPanel.Dock="Right"/> <!-- button to browse for file -->
</DockPanel>
</Page>
समस्या यह है कि मैं पाठ बॉक्स के दाईं ओर स्थित बटन चाहते है, लेकिन उस के बाद से वास्तव में छोटे होने के लिए पाठ बॉक्स का कारण बनता है डॉकपैनल का लास्ट चाइल्ड वह बटन है जो शेष स्थान का उपयोग करता है। मैंने इसे चारों ओर घुमाकर और LastChildFill="False"
सेट करके इसे बदलने की कोशिश की लेकिन यह केवल बटन को छोटा होने का कारण बनता है, टेक्स्टबॉक्स चौड़ा नहीं बना रहा (यहां तक कि HorizontalAlignment="Stretch"
के साथ)।
कारण मैं उस क्रम में नियंत्रण चाहता हूं कि मैं चाहता हूं कि उपयोगकर्ता विंडो में नेविगेट करने के लिए tab
का उपयोग करते समय बटन से पहले टेक्स्टबॉक्स तक पहुंचें। मैंने TabIndex
सेट करने में देखा लेकिन यह हैकी लगता है, डब्ल्यूपीएफ की पसंदीदा विशेषताएं यह है कि टैबइंडेक्स एक्सएएमएल में कंसोल परिभाषित किए जाने के क्रम में हैं। उल्लेख नहीं है कि मुझे शायद विंडो में सब कुछ पर TabIndex मैन्युअल रूप से सेट करना होगा।
मेरे लिए ऐसा लगता है कि टेक्स्टबॉक्स की सेटिंग। हॉरिज़ोंटल एलाइनमेंट का सम्मान नहीं किया जाता है। मैं पहले नियंत्रण को जितना संभव हो उतना स्थान उपयोग कर सकता हूं लेकिन फिर भी टैब ऑर्डर को सुरक्षित रख सकता हूं?
+1 क्योंकि यह TabOrder मुद्दा नहीं है। यदि कोई इस तरह के साधारण परिदृश्यों में कॉलमडिफिनिशन टाइप करने से बचना चाहता है, तो इस समाधान पर एक नज़र डालें: http://rachel53461.wordpress.com/2011/09/17/wpf-grids-rowcolumn-count-properties/ – surfen