2016-06-09 63 views
0

我对WPF相当陌生,我正在努力应对一些我认为不应该让我头疼的事情。到目前为止,我在这个主题上挖掘的所有内容都围绕着Canvas/InkCanvas表面上的绘制圆/椭圆。但是,我的问题是:InkCanvas表面可以是圆形/椭圆形状吗?

是否可以让InkCanvas区域为圆形/椭圆形状?如果是的话,我真的很感激这个问题的更多细节。

谢谢!

InkCanvas出现一轮,但有效面积仍保持为矩形:

<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
    ... 
     <Border Grid.Column="1" Grid.Row="1" Background="#FF909090" BorderBrush="White" BorderThickness="5,5,5,5" CornerRadius="180"> 
      <Grid Width="Auto" Height="325" Background="{x:Null}" VerticalAlignment="Bottom" > 
      ... 
       <InkCanvas x:Name="InkCanvas" Background="{x:Null}" Grid.RowSpan="3" Grid.ColumnSpan="3" > 
        ... 
       </InkCanvas> 
       ... 
      </Grid> 
     ... 
     </Border> 
    ... 
    </Grid> 

回答

0

那么你可以尝试在画布上放置一个边框内,然后设置边框圆角半径属性。

<Border BorderBrush="Black" BorderThickness="3" HorizontalAlignment="Left" VerticalAlignment="Top" CornerRadius="100"> 
     <InkCanvas Background="{x:Null}"/> 
    </Border> 
+0

我已经试过了,它确实解决了我在UI中遇到的问题 - 即画布呈现圆形。 但是,我正在寻找的功能仍然缺失,因为画布的“活动表面仍然是矩形的,仍然占用了放置边框的整个网格空间。我在我的帖子中添加了代码,如果它可以帮助你。 – yuDev