相关疑难解决方法(0)

如何在WPF中创建一个圆圈孔?

我创建了一个UserControl,它是一个环,通过叠加2个圆圈,小圆圈为空白,第二个圆圈位于最小的圆圈后面.

在我的WPF应用程序中,我想放几个响铃,但小圆圈确实隐藏了其他响铃.我想通过它看一看并捕捉鼠标事件,以便在其他环之后响铃,否则它不是真正的环.可能吗 ?

我尝试了OpacityMask的小椭圆,如http://social.msdn.microsoft.com/forums/en-US/wpf/thread/551201d1-c5b3-4e17-ae63-625cfbb8bcc4的答案所指出但仍看不到背后的戒指洞:

<UserControl x:Class="MyUserControls.MyRing"
             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="150" d:DesignWidth="150" SizeChanged="UserControl_SizeChanged">
    <Grid Height="150" Name="Grid" Width="150" MouseMove="ellipse1_MouseMove">
        <Ellipse Fill="Red" Height="150" Width="150" HorizontalAlignment="Left" Margin="0,0,0,0" Name="ellipse1" Stroke="Black" VerticalAlignment="Top"  >
            <Ellipse.OpacityMask>
                <RadialGradientBrush>
                    <GradientStop Color="#FFB94444" Offset="0.496"/>
                    <GradientStop Color="#00FFFFFF" Offset="0.491"/>
                </RadialGradientBrush>
            </Ellipse.OpacityMask>
        </Ellipse>
        <Ellipse Fill="White" Height="100" Width="100" Margin="25,25,25,0" Name="ellipse2" Stroke="Black" VerticalAlignment="Top" />       
    </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

wpf user-controls wpf-controls

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

user-controls ×1

wpf ×1

wpf-controls ×1