VisualBrush 背景圖 Background上畫,線條(LineGeometry)、幾何圖形(RectangleGeometry)、橢圓(EllipseGeometry)、弧線(ArcSegment )、各種控制項等,相對與DrawingBrush書寫更簡單一些。 屬性 說明 備註 Viewp ...
VisualBrush 背景圖 Background上畫,線條(LineGeometry)、幾何圖形(RectangleGeometry)、橢圓(EllipseGeometry)、弧線(ArcSegment )、各種控制項等,相對與DrawingBrush書寫更簡單一些。
屬性 | 說明 | 備註 |
Viewport | (從左向右,從上向下,圖像寬度放大比例,圖像高度放大比例)放大背景圖, | Viewport="0,0,8 5"(X Y W H) 預設表示比例:調整圖像的大小位置 |
ViewboxUnits | 設置上面屬性的比例為絕對值。 | ViewboxUnits="Absolute" |
TileMode | 設置平鋪方式 | TileMode="Tile" (None、FlipX(水平方向反轉)、FlipY(從上往下反轉)、FlipXY(及X方向反轉,也Y方向反轉)、Tile(平鋪)) |
代碼實例:
<Border Width="100" Height="50"> <Border.Background> <!--所有可以在頁面顯示的控制項都可以放在VisualBrush里渲染。所有繼承VisualBrush的控制項都可以放在VisualBrush里渲染--> <VisualBrush Viewport="0,0,8 5" ViewportUnits="Absolute" TileMode="Tile"> <!--VisualBrush.Visual 用於存放各種繼承自VisualBrush的控制項,只能放一個--> <VisualBrush.Visual> <!--VisualBrush中可以放各種控制項顯示--> <!--<Button/>--> <!--畫多邊形控制項 Points="0 5 8 0 16 5 8 10"(x y x y x y)相當於每兩個坐標點一組,一直迴圈。--> <!--<Polygon Points="0 5 8 0 16 5 8 10" Stroke="Green" StrokeThickness="1"/>--> <!--M0 5起始坐標XY、8 0結束坐標xy、16 5結束坐標xy、8 10結束坐標xy(如此迴圈)、z圖形結束--> <!--<Path Data="M0 5 8 0 16 5 8 10z" Stroke="Green" StrokeThickness="1"/>--> <!--M18 60起始坐標xy、後面跟著結束坐標、M69 30起始坐標xy、後面跟著結束坐標--> <Path Data="M18 60,0 30,18 0 50,0 69,30 50,60M69,30 100,30" Stroke="#FF6E00" StrokeThickness="1"/> </VisualBrush.Visual> </VisualBrush> </Border.Background> </Border>實例:VisualBrush中映射其它控制項 顯示效果
代碼實例:
<TextBox Text="Hello" Width="100" Name="tb" Opacity="1"> </TextBox> <Border Height="30" Width="100" RenderTransformOrigin="0.5,0.5"> <Border.Background> <!--把其它控制項顯示在VisualBrush中--> <VisualBrush Visual="{Binding ElementName=tb}"/> </Border.Background> <Border.RenderTransform> <TransformGroup> <!--設置旋轉角度--> <RotateTransform Angle="180"/> </TransformGroup> </Border.RenderTransform> </Border>