如何在Windows应用商店应用中剪切带圆角的内容

时间:2013-05-02 15:21:01

标签: xaml windows-store-apps winrt-xaml rounded-corners clipping

我尝试使用圆角(<Grid/>或{{1}来<Border/>(内置互动内容,而不仅仅是图片)剪裁无论什么都有效。)

我尝试了多种解决方案,但它们都没有与Windows应用商店应用兼容。

没有画笔:

  
      
  • Windows App项目不支持RadialGradientBrush。
  •   
  • Windows应用程序项目不支持DrawingBrush。
  •   
  • 找不到“VisualBrush”类型。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
  •   

没有面具:

  
      
  • 在“图片”类型中找不到可附加属性“OpacityMask”。
  •   
  • 在'StackPanel'类型中找不到可附加属性'OpacityMask'。
  •   
  • 在'Grid'类型中找不到可附加属性'OpacityMask'。
  •   

没有圆角几何:

  
      
  • 在'RectangleGeometry'类型中找不到属性'RadiusX'。
  •   
  • Windows应用程序项目不支持MultiBinding。
  •   

在C#/ XAML Windows商店应用程序中,这在技术上是不可能的吗?

3 个答案:

答案 0 :(得分:16)

您是否尝试将控件置于边框内?只需将边框的圆角半径设置为150,即可完美控制圆角。这是一个带按钮的例子。

    <Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Center"  Height="200" Margin="0,0,0,0" VerticalAlignment="center" Width="200" CornerRadius="150">

        <Button x:Name="btnPlayback" Content="Play" HorizontalAlignment="Center" Height="200" Margin="0,0,0,0" VerticalAlignment="center" Width=" 200" BorderThickness="0"  Click="btnPlayback_Click_1"/>

    </Border>

答案 1 :(得分:3)

<Ellipse HorizontalAlignment="Left" Height="301" Stroke="Black" VerticalAlignment="Top" Width="300">
    <Ellipse.Fill>
        <ImageBrush Stretch="Uniform" ImageSource="http://cfile3.uf.tistory.com/image/26616E4D514A3CDC136C4B"/>
    </Ellipse.Fill>
</Ellipse>

你能使用ImageBrush吗?

我运作良好。

答案 2 :(得分:0)

听起来像你回答了自己的问题。 :)只是不喜欢这个答案?

在WPF中,剪辑的选项几乎是无限的。甚至SilverLight都有一些很棒的选择。但是,在Windows 8(现在)中,您只能使用RectangleGeometry。故事结局。值得指出的是,您可以将Transform应用于RectangleGeometry,这样可以提供更多选项。

(至少现在你知道了)

祝你好运!