Wpf 散射视图项目的圆角-Microsoft surface SDK

Wpf 散射视图项目的圆角-Microsoft surface SDK,wpf,xaml,pixelsense,scatterview,Wpf,Xaml,Pixelsense,Scatterview,我有一个图像覆盖在scatterview项目上。scatterview项包含stackpanel和几个文本块。在叠加并将主窗口的背景设置为透明时,我仍然可以看到与图像不一致的角落 我正在使用surfaceusercontrol在scatterview中添加曲面项。代码如下: <s:SurfaceUserControl x:Class="Models.ModelItemControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml

我有一个图像覆盖在scatterview项目上。scatterview项包含stackpanel和几个文本块。在叠加并将主窗口的背景设置为透明时,我仍然可以看到与图像不一致的角落

我正在使用surfaceusercontrol在scatterview中添加曲面项。代码如下:

<s:SurfaceUserControl x:Class="Models.ModelItemControl"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:s="http://schemas.microsoft.com/surface/2008" Width="110" Background="Transparent">

  <Grid>
    <Grid.Background>
      <ImageBrush ImageSource="pack://application:,,,/Resources/models_card_150-01.png" Opacity="1.0" Stretch="Fill" />
    </Grid.Background>
    <Viewbox >
    <StackPanel MaxWidth="250" MinHeight="300">
    <TextBlock Name="ItemTitle" Margin="5,5,5,5" TextWrapping="Wrap" Visibility="Visible" Padding="2" />
    <Image Name="ItemImage" Margin="5,5,5,5"  Visibility="Visible" MaxHeight="100"/>
    <TextBlock Name="ItemDesc"  Margin="5,5,5,0" TextWrapping="Wrap" Visibility="Visible" Padding="2" />
    <s:SurfaceToggleButton Checked="ItemInfo_Checked" Unchecked="ItemInfo_Unchecked" Margin="5,0,5,0" HorizontalAlignment="Center" VerticalAlignment="Center">Display more info</s:SurfaceToggleButton>
    </StackPanel>
    </Viewbox>
    </Grid>
</s:SurfaceUserControl>

显示更多信息

我想要一种方法来剪辑的角落,以圆形,而不是矩形

您可能看到的是ScatterViewItems阴影,而不是您的用户控件。您可以使用以下方法删除代码隐藏中的阴影:

item.ApplyTemplate();
item.Background = new SolidColorBrush(Colors.Transparent);
item.ShowsActivationEffects = false;
Microsoft.Surface.Presentation.Generic.SurfaceShadowChrome ssc;
ssc = item.Template.FindName("shadow", item) as Microsoft.Surface.Presentation.Generic.SurfaceShadowChrome;
ssc.Visibility = Visibility.Hidden;

该项假定为您的ScatterViewItem。请查看SDK中的ScatterViewPuzzle,了解如何为ScatterViewItem创建自定义形状。

已发布在MSDN上。此外,链接到答案的链接发布在下面:


我尝试了创建每个scatterview项并替换item=this的代码,但没有成功。通常在背景上看到时,角看起来是圆形的,但是当我将其移动到另一个散射视图项目上时,显示的边框再次是矩形,显示的也是矩形。通过使用您的代码,我可以移除阴影,但重叠时角仍然显示为矩形。