2010-08-24 137 views
0

我需要平鋪WPF圖像控件中的圖片(如在Windows桌面上(背景圖塊屬性))。有人知道這是可能的天氣,如果是這樣,怎麼樣?WPF:平鋪圖像

最好的問候, 亞歷山大

回答

1

這是我從MSDN借用的示例Rectangle。

DrawingBrush myBrush = new DrawingBrush(); 

GeometryDrawing backgroundSquare = 
    new GeometryDrawing(
     Brushes.White, 
     null, 
     new RectangleGeometry(new Rect(0, 0, 100, 100))); 

GeometryGroup aGeometryGroup = new GeometryGroup(); 
aGeometryGroup.Children.Add(new RectangleGeometry(new Rect(0, 0, 50, 50))); 
aGeometryGroup.Children.Add(new RectangleGeometry(new Rect(50, 50, 50, 50))); 

LinearGradientBrush checkerBrush = new LinearGradientBrush(); 
checkerBrush.GradientStops.Add(new GradientStop(Colors.Black, 0.0)); 
checkerBrush.GradientStops.Add(new GradientStop(Colors.Gray, 1.0)); 

GeometryDrawing checkers = new GeometryDrawing(checkerBrush, null, aGeometryGroup); 

DrawingGroup checkersDrawingGroup = new DrawingGroup(); 
checkersDrawingGroup.Children.Add(backgroundSquare); 
checkersDrawingGroup.Children.Add(checkers); 

myBrush.Drawing = checkersDrawingGroup; 
myBrush.Viewport = new Rect(0, 0, 0.25, 0.25); 
myBrush.TileMode = TileMode.Tile; 

exampleRectangle.Fill = myBrush; 

它演示瞭如何平鋪一個矩形。這裏是MSDN的鏈接: WPF Brush Overview - MSDN

+1

謝謝你的回覆。現在,我得到以下XAML代碼: <圖像刷視口= 「0,0,0.25,0.25」 TILEMODE = 「瓷磚」 的ImageSource = 「Background1.png」/> 這可以平鋪圖片;但是當我調整Rectangle的大小時,「平鋪圖片」就會被拉伸。但是,我希望它們重複(如HTML網頁上的背景圖像)。 – alxppp 2010-08-24 10:59:47

+1

Found the solution: alxppp 2010-08-24 13:51:51

+0

對不起,我不能回覆你的評論,我只是醒了:P我很高興你把它全部排序。 :d – 2010-08-25 05:44:02

1

如果你正在繪製一個DrawingBrush你的形象,你可以將屬性TileMode設置爲TileMode.Tile。假設我已經正確地理解了你的問題,它會做你想做的。