WPF में एक पृष्ठभूमि ब्रश दोहराएँ




background repeat (2)

एक छवि ब्रश का उपयोग करें

<ImageBrush ImageSource="image.png" TileMode="Tile"/>

और धन्यवाद।

यह प्रश्न इस पुरानी, ​​अनुत्तरित प्रश्न के समान है: नोटबुक जैसे पाठ बॉक्स पृष्ठभूमि के रूप में पेंट कैसे करें? हालांकि, यह वही नहीं है - बिल्कुल नहीं

मैं नोटपैड बनाना चाहता हूं, कागज की तरह की पृष्ठभूमि की तरह है लेकिन मैं एक्सएएमएल में एक ब्रश को दोहराने के तरीकों से परिचित नहीं हूं। तुम कैसे हो?

संपादित करें

टेक्स्ट बॉक्स के भाग के रूप में इसका समाधान है:

<TextBox TextBlock.LineHeight="20" 
         TextBlock.LineStackingStrategy="BlockLineHeight" 
         Padding="20,10,20,20" TextWrapping="Wrap">
  <TextBox.Background>
    <DrawingBrush TileMode="Tile" Stretch="None" Viewport="0,0,20,20" 
                  ViewportUnits="Absolute" Opacity=".07">
      <DrawingBrush.Drawing>
          <GeometryDrawing>
              <GeometryDrawing.Pen>
                  <Pen Brush="RoyalBlue" />
              </GeometryDrawing.Pen>
              <GeometryDrawing.Geometry>
                  <LineGeometry StartPoint="0,0" EndPoint="20,0"/>
              </GeometryDrawing.Geometry>
          </GeometryDrawing>
      </DrawingBrush.Drawing>
    </DrawingBrush>
  </TextBox.Background>
  Now is the time for all good men to come to the aid of their country.
  Now is the time for all good men to come to the aid of their country.
  Now is the time for all good men to come to the aid of their country.
  Now is the time for all good men to come to the aid of their country.
  Now is the time for all good men to come to the aid of their country.
</TextBox>

मजेदार, सिर्फ एक ही काम कर रहा था ये रहा। आपको शायद टाइलिंग की दिशा तय करने के लिए टाइलमोल्ड के साथ खेलना होगा, और व्यूपोर्ट, आखिरी दो नंबर आपकी छवि की चौड़ाई / ऊंचाई होनी चाहिए (मुझे ऐसा करना पड़ा क्योंकि मेरी छवि बढ़ रही थी या अभी नहीं आ रही है बाहर सही)।

<ImageBrush x:Key="WindowBackground" ImageSource="/Images/Background.png" TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,4,4" />




brush