2010-06-22 12 views
22

मेरे पास StackPanel है जिसमें पांच छवियां हैं और मैं प्रत्येक छवि के चारों ओर एक काला सीमा रखना चाहता हूं।मैं डब्ल्यूपीएफ में एक छवि के चारों ओर एक सीमा कैसे लगा सकता हूं?

XAML मैं पल में है:

<Image Name="imgPic1" 
     Width="100" 
     Height="75" 
     Stretch="Fill" 
     VerticalAlignment="Top" /> 

मैंने सोचा कि मैं सिर्फ 000000 लेकिन Padding और Background के लिए छवि पर एक एक इकाई मार्जिन या पैडिंग रख दिया और एक पृष्ठभूमि रंग सेट करने में सक्षम होगा छवियों के लिए दोनों अमान्य हैं।

एक्सएएमएल में ऐसा करने का एक आसान तरीका क्या है? क्या मुझे वास्तव में इसके चारों ओर एक सीमा प्राप्त करने के लिए प्रत्येक छवि को दूसरे नियंत्रण में रखना है या क्या कोई अन्य चाल है जिसका मैं उपयोग कर सकता हूं?

उत्तर

49

बस एक सीमा नियंत्रण

<Border BorderThickness="1"> 
    <Image Name="imgPic1" 
      Width="100" 
      Height="75" 
      Stretch="Fill" 
      VerticalAlignment="Top" /> 
</Border> 

इस करता है कि अगर आप हर छवि


चारों ओर यह करने के लिए नहीं करना चाहते हैं छवियों के लिए एक शैली आप लागू प्रदान कर सकता है में छवि लपेट इस सवाल का जवाब और टिप्पणियों पैक्स द्वारा जोड़ा से

अंतिम समाधान:

<Border BorderThickness="1" 
     BorderBrush="#FF000000" 
     VerticalAlignment="Top"> 
    <Image Name="imgPic1" 
      Width="100" 
      Height="75" 
      Stretch="Fill" 
      VerticalAlignment="Top"/> 
</Border> 
+0

यह अच्छा लग रहा है लेकिन मैं इसे काला कैसे बना सकता हूं? पृष्ठभूमि सेट करना सीमा के चारों ओर की जगह को प्रभावित करता है, न कि सीमा पर, और कोई रंग या अग्रभूमि संपत्ति नहीं है। – paxdiablo

+0

आपको सीमा ब्रश संपत्ति का उपयोग करना होगा। आप वहां एक हेक्स रंग निर्दिष्ट कर सकते हैं या आप एक अधिक जटिल ब्रश निर्दिष्ट कर सकते हैं। यदि आप इसे काला होना चाहते हैं तो यह BorderBrush = "# FF000000" –

+0

उस के लिए धन्यवाद, क्रेग। यह अभी ठीक काम करता है। – paxdiablo

2

मैं सिर्फ इस पोस्ट पर ठोकर खाई और दूसरा जवाब सही काम नहीं करता था। शायद क्योंकि अब मैं ढांचे 4 का उपयोग करता हूं और यह पोस्ट पुराना है? आप नहीं देखेंगे -

<Border Name="brdSiteLogo" 
      BorderThickness="2" 
      BorderBrush="#FF000000" 
      VerticalAlignment="Top" 
      HorizontalAlignment="Left" 
      Margin="12,112,0,0" 
      Height="128" 
      Width="128"> 

    <Image Name="imgSiteLogo"    
     HorizontalAlignment="Stretch" 
     VerticalAlignment="Stretch" 
     Stretch="Fill"/> 

    </Border> 

सीमा मोटाई और ब्रश महत्वपूर्ण (यदि आप अभ्यस्त एक रंग चुनें हैं:

किसी भी मामले में - - अगर किसी को भविष्य में संयोग से इस देखेंगे यहाँ मेरा उत्तर है सीमा !!!)

इसके अलावा, सीमा को आपकी खिड़की पर गठबंधन किया जाना चाहिए। छवि सीमा के अंदर "अंदर" है, इसलिए आप मार्जिन का उपयोग कर सकते हैं या बस इसे जैसे ही खिंचाव कर सकते हैं।

+0

आपकी पोस्ट के लिए धन्यवाद! कृपया अपनी पोस्ट में हस्ताक्षर/टैगलाइन का उपयोग न करें। आपका उपयोगकर्ता बॉक्स आपके हस्ताक्षर के रूप में गिना जाता है, और आप अपनी प्रोफ़ाइल का उपयोग अपने पसंदीदा बारे में किसी भी जानकारी को पोस्ट करने के लिए कर सकते हैं। [हस्ताक्षर/टैगलाइन पर अक्सर पूछे जाने वाले प्रश्न] (http://stackoverflow.com/faq#signatures) –

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