WPF椭圆剪辑

时间:2016-01-07 20:26:21

标签: c# wpf xaml ellipse

当大小达到某个阈值时,我遇到了椭圆对象剪裁的问题。我一直在和它斗争几个小时,似乎无法弄清楚这个问题。

任何帮助都将不胜感激。

以下是椭圆的XAML代码:

        <Ellipse Fill="Black" HorizontalAlignment="Right"
        VerticalAlignment="Center" 
        Margin="0,13,1,13" RenderTransformOrigin="0.5,0.5" Opacity="0.875">
            <Ellipse.Height>
                <MultiBinding>
                    <MultiBinding.Converter>
                        <converters:DivisionMultiConverter/>
                    </MultiBinding.Converter>
                    <Binding ElementName="CircleSpinner" Path="ActualHeight"/>
                    <Binding Source="3.65"/>
                </MultiBinding>
            </Ellipse.Height>
            <Ellipse.Width>
                <MultiBinding>
                    <MultiBinding.Converter>
                        <converters:DivisionMultiConverter/>
                    </MultiBinding.Converter>
                    <Binding RelativeSource="{RelativeSource Self}" Path="ActualHeight"/>
                    <Binding Source="1.25"/>
                </MultiBinding>
            </Ellipse.Width>
            <Ellipse.Stroke>
                <RadialGradientBrush>
                    <GradientStop Color="Black" Offset="0.8"/>
                    <GradientStop Color="White" Offset="1"/>
                </RadialGradientBrush>
            </Ellipse.Stroke>
            <Ellipse.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform Angle="90"/>
                    <TranslateTransform/>
                </TransformGroup>
            </Ellipse.RenderTransform>
        </Ellipse>

Ellipse clipping issue.

Actual control without clipping issue.

1 个答案:

答案 0 :(得分:0)

如果有人在将来看到这个,我找到了答案。

这是保证金问题。当控件的大小达到一定大小(较小)时,边距开始剪切椭圆。在必要时移除了边距,现在它的行为符合预期。