2008-11-06 9 views
6

मैंने कंपनी लोगो की छवि पर कैनवास की पृष्ठभूमि सेट की है। मैं इस छवि को कैनवास के निचले दाएं कोने में गठबंधन करना चाहता हूं।
क्या ऐसा करना संभव है, या क्या छवि को कैनवास में बच्चे के रूप में जोड़ने की आवश्यकता होगी? यह इस कार्यक्रम के साथ काम नहीं करेगा क्योंकि कैनवास के सभी बच्चों को अलग-अलग संभाला जाता है।आप WPF में कैनवास पृष्ठभूमि को कैसे संरेखित कर सकते हैं?

धन्यवाद

उत्तर

16

क्या यह काम करेगा? (यह मेरे लिए भी काम करता है, वैसे भी।)

<Canvas> 
    <Canvas.Background> 
     <ImageBrush ImageSource="someimage.jpg" AlignmentX="Right" 
      AlignmentY="Bottom" Stretch="None" /> 
    </Canvas.Background> 
    </Canvas> 
+0

बिल्कुल मुझे क्या चाहिए। मैंने ImageBrush के लिए सभी गुणों को देखा, लेकिन किसी भी तरह से मैंने उनको याद किया। धन्यवाद! – Totty

+0

धन्यवाद! धन्यवाद! – Fredrik

0

AFAIK WPF कैनवास बच्चे UI तत्व पूर्ण समन्वय का उपयोग कर तैनात किया जाना चाहिए। दाएं-नीचे-एंकर किए गए प्रभाव को प्राप्त करने के लिए, मुझे लगता है कि आपको विंडो आकार बदलने की घटना को संभालने की आवश्यकता होगी, बच्चे के लिए शीर्ष, बाएं समन्वय पुन: गणना करें और लागू करें छवि तत्व हमेशा सही बटम कोने पर चिपकने के लिए।

<Window x:Class="HelloWPF.Window1" xmlns... 
    Title="Window1" Height="300" Width="339"> 
    <Canvas> 
     <Image Canvas.Left="195" Canvas.Top="175" Height="87" Name="image1" Stretch="Fill" Width="122" Source="dilbert2666700071126ni1.gif"/> 
    </Canvas> 
</Window> 
+0

अच्छा, हाँ और नहीं। जिस समाधान को मैं ढूंढ रहा हूं वह कैनवास को बदल देगा। बैकग्राउंड छवि को अलग-अलग स्थान पर रखा जाना चाहिए। कैनवास का बच्चा नहीं। साथ ही, मेरा मानना ​​है कि बच्चे को संभालने का आसान तरीका कैनवास सेट करना होगा। बॉटम और कैनवास। 0 से 0। फिर अपडेट करने की आवश्यकता नहीं है। – Totty

+0

ठीक है आप हैं .. संलग्न गुण याद रखने के लिए दर्द हैं .. इसलिए अब प्रत्येक बच्चे के पास चौड़ाई, ऊंचाई, नीचे और दाएं नाम के कैनवास के लिए 4 संलग्न प्रोप हैं ... शीश! :) – Gishu

0

ग्रिड नियंत्रण के अंदर कैनवास और छवि को कैसे शामिल किया जाए?

<Window ...> 
    <Grid> 
    <Canvas/> 
    <Image HorizontalAlignment="Right" VerticalAlignment="Bottom" .../> 
    <Grid> 
</Window> 
0

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

<Canvas x:Name="MiCanvas" Height="250" Width="500" Background="Aqua"> 
    <Border x:Name="MiBorderImage" 
      Width="{Binding ElementName=MiCanvas, Path=ActualWidth}" 
      Height="{Binding ElementName=MiCanvas, Path=ActualHeight}" 
      Background="Transparent"> 
     <Image x:Name="MiImage" Source="/GraphicsLibrary/Logos/MiLogo.png" 
       HorizontalAlignment="Right" 
       VerticalAlignment="Bottom" 
       Stretch="None" /> 
    </Border> 
</Canvas> 
संबंधित मुद्दे