张国伟 发表于 2023-8-11 16:25:52

WPF图形控件使用之-VisualBrush图形画刷

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中显示各种控件显示效果:https://img2023.cnblogs.com/blog/3250399/202308/3250399-20230811142914273-1725893072.png
代码实例:
<Border Width="100" Height="50">
            <Border.Background>
               
                <VisualBrush Viewport="0,0,8 5" ViewportUnits="Absolute" TileMode="Tile">
                  
                  <VisualBrush.Visual>
                        
                        
                        
                        
                        
                        
                        
                        <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中映射其它控件显示效果 
https://img2023.cnblogs.com/blog/3250399/202308/3250399-20230811143014682-1030414253.png
 代码实例:
<TextBox Text="Hello" Width="100" Name="tb" Opacity="1">
      </TextBox>
      <Border Height="30" Width="100" RenderTransformOrigin="0.5,0.5">
            <Border.Background>
               
                <VisualBrush Visual="{Binding ElementName=tb}"/>
            </Border.Background>
            <Border.RenderTransform>
                <TransformGroup>
                  
                  <RotateTransform Angle="180"/>
                </TransformGroup>
            </Border.RenderTransform>
      </Border>  
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: WPF图形控件使用之-VisualBrush图形画刷