WPF图形控件使用之-VisualBrush图形画刷
  pIdms5TshOAv 2023年11月02日 55 0

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(平铺))
实例:VisualBrush中显示各种控件
显示效果:

代码实例:

<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>

  

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  NPQODODLqddb   2024年05月17日   69   0   0 .NET
  mVIyUuLhKsxa   2024年05月17日   53   0   0 .NET
  XkHDHG7Y62UM   2024年05月17日   45   0   0 .NET
  f18CFixvrKz8   2024年05月18日   87   0   0 .NET
  rBgzkhl6abbw   2024年05月18日   78   0   0 .NET
  MYrYhn3ObP4r   2024年05月17日   41   0   0 .NET
  S34pIcuyyIVd   2024年05月17日   60   0   0 .NET
  gKJ2xtp6I8Y7   2024年05月17日   50   0   0 .NET
  MYrYhn3ObP4r   2024年05月17日   39   0   0 .NET
pIdms5TshOAv