WPF में सरल (मुझे लगता है) क्षैतिज रेखा?


228

अपेक्षाकृत सरल डेटा प्रविष्टि फ़ॉर्म बनाना, और बस कुछ वर्गों को एक क्षैतिज रेखा (HTML में एचआर टैग के विपरीत नहीं) के साथ अलग करना चाहते हैं जो फ़ॉर्म की पूरी लंबाई को खींचती है।

मैंने यह कोशिश की है:

<Line Stretch="Fill" Stroke="Black" X2="1"/>

क्योंकि पैरेंट कंट्रोल एक निश्चित चौड़ाई नहीं है, इस लाइन के कारण विंडो स्क्रीन की पूरी चौड़ाई तक फैल जाती है।

क्या मेरे पैरेंट कंट्रोल / विंडो की चौड़ाई तय किए बिना ऐसा करने का एक आसान तरीका है?


3
उत्तर है [यहाँ] [१]। मैं मटेरियल का जवाब पसंद करता हूं। [1]: stackoverflow.com/questions/4011571/...
स्टैक किया

जवाबों:


522

इसे अपने xaml में कैसे जोड़ें:

<Separator/>

9
शानदार समाधान और एक टैग!

7
मुझे समझ नहीं आता कि यह कैसे एक समाधान है। मैं एक विभाजक जोड़ता हूं और मुझे कोई रेखा दिखाई नहीं देती है। जब एक क्षैतिज नियम की तरह दिखाने के लिए इसे प्राप्त करने के लिए ग्रिड जैसे मानक लेआउट पैनल के भीतर विभाजक रखते समय क्या कॉन्फ़िगरेशन आवश्यक है?
जिपरसन

मैं सहमत हूं, ऐसा प्रतीत होता है कि यह कुछ नियंत्रणों के लिए काम नहीं करता है
जस्टिन पिहोनी

12
@ जैपरसन यदि आप इसे ग्रिड में जोड़ते हैं, तो आपको संभवतः इसे किसी अन्य नियंत्रण की तरह एक पंक्ति और कॉलम में असाइन करना होगा। अन्यथा यह संभवतः पहली पंक्ति / कॉलोनी में दिखाई देगा, और आप इसे याद करेंगे। (यह एक StackPanel पर ठीक से काम करता है।)
एवेज़

5
कृपया ध्यान दें कि <Separator/>स्क्रीन पाठकों द्वारा जोर से पढ़ा जाएगा। यदि <Separator/>यूआई में वास्तव में वस्तुओं के अलग-अलग समूहों के लिए उपयोग किया जाता है, तो यह एक सही समाधान है। जहां लाइन के उपयोग के विशुद्ध रूप से सौंदर्य संबंधी कारण हैं, मैं सुझाव देता हूं कि इसका उपयोग करना चाहिए <Line/>या <Rectangle/>इसके बजाय।
सिमोन रोजमैन

77

मेरे पास एक ही मुद्दा था और अंततः एक आयत तत्व का उपयोग करने के लिए चुना गया:

<Rectangle HorizontalAlignment="Stretch" Fill="Blue" Height="4"/>

मेरी राय में एक विभाजक की तुलना में इसे संशोधित / आकार देना कुछ आसान है। बेशक Separator, सरल विभाजनों के लिए एक बहुत ही आसान और साफ समाधान है :)


2
सिल्वरलाइट 5 में काम Seperatorकरता है जबकि ऐसा नहीं है।
19मेगामैन

14

ऊंचाई 1 की सीमा का उपयोग करें और चौड़ाई सेट न करें (यानी चौड़ाई = ऑटो, आड़ा क्षैतिज = स्ट्रेच, डिफ़ॉल्ट)


2
यह वैसे भी वर्टिकल <Border Width="1" Margin="2" Background="#8888"/>
सेपरेटर्स के

8

इसके साथ संघर्ष करने वाले किसी और व्यक्ति के लिए: क्वर्टी की टिप्पणी ने मेरे लिए अच्छा काम किया।

<Border Width="1" Margin="2" Background="#8888"/>

यह एक वर्टीकल सेपरेटर बनाता है जिसे आप अपनी आवश्यकताओं के अनुरूप प्रतिभाशाली बना सकते हैं।


3
To draw Horizontal 
************************    
<Rectangle  HorizontalAlignment="Stretch"  VerticalAlignment="Center" Fill="DarkCyan" Height="4"/>

To draw vertical 
*******************
 <Rectangle  HorizontalAlignment="Stretch" VerticalAlignment="Center" Fill="DarkCyan" Height="4" Width="Auto" >
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="90"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.