C# 在WPF中为VisualBrush设置边界

C# 在WPF中为VisualBrush设置边界,c#,wpf,region,visualbrush,hatchstyle,C#,Wpf,Region,Visualbrush,Hatchstyle,有一个蓝色矩形,其中填充了自定义VisualBrush左侧图像。一条线穿过矩形。如何修剪笔刷以获得正确图像中的形状 请看LinearGradientBrush。您希望使用对自定义VisualBrush执行类似操作 <Rectangle Width="100" Height="200"> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="

有一个蓝色矩形,其中填充了自定义VisualBrush左侧图像。一条线穿过矩形。如何修剪笔刷以获得正确图像中的形状


请看LinearGradientBrush。您希望使用对自定义VisualBrush执行类似操作

    <Rectangle Width="100" Height="200">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Blue" Offset="0"/>
                <GradientStop Color="Blue" Offset="0.405"/>
                <GradientStop Color="Black" Offset="0.405"/>
                <GradientStop Color="Black" Offset="0.722"/>
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>
我不知道你的自定义画笔是什么,但如果你允许它的工作类似于梯度画笔

另一个选项是,实际上有两个矩形,中间有一个分隔符,每个矩形都有一个单独的渐变笔刷。那么红线实际上就是分隔符的背景色

    <DockPanel Width="100" Height="200">
        <Rectangle DockPanel.Dock="Top" Height="100" Margin="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="Black" Offset="1"/>
                    <GradientStop Color="White"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
        <Separator Height="2" DockPanel.Dock="Top" Background="Red" Margin="0"></Separator>
        <Rectangle Margin="0" Fill="Black"/>
    </DockPanel>

发布您的自定义视觉画笔代码。@Vahid将一个矩形拆分为两个是否总是相同的配置?