我有一个已将其TileMode属性设置为Tile的VisualBrush。
然而,它不是平铺的-它是伸展的。有谁能帮忙吗?
谢谢
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="test"
x:Name="UserControl"
d:DesignWidth="500" d:DesignHeight="500">
<UserControl.Resources>
<VisualBrush x:Key="MyBrush" TileMode="Tile">
<VisualBrush.Visual>
<Grid Width="20">
<Ellipse Fill="#FF00EBFF" Stroke="Black" StrokeThickness="2" Width="20" Height="20" RenderTransformOrigin="0.5,0.5" >
</Ellipse>
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" >
<Grid Background="{StaticResource MyBrush}" />
</Grid>
</UserControl>发布于 2012-05-16 22:07:11
试试这个:
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<VisualBrush x:Key="MyBrush" TileMode="Tile" Viewport="20, 20, 20, 20" ViewportUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#FF00EBFF" Stroke="Black" StrokeThickness="2" Width="20" Height="20" RenderTransformOrigin="0.5,0.5" />
</VisualBrush.Visual>
</VisualBrush>
</UserControl.Resources>
<Grid>
<Grid x:Name="LayoutRoot" Background="{StaticResource MyBrush}">
</Grid>
</Grid>
</UserControl>在使用TileMode时,需要指定ViewPort值。
https://stackoverflow.com/questions/10620023
复制相似问题