代码之家  ›  专栏  ›  技术社区  ›  K Singh

scatterview项目的圆角-Microsoft surface SDK

  •  0
  • K Singh  · 技术社区  · 14 年前

    我有一个图像覆盖在scatterview项上。scatterview项包含stackpanel和一些文本块。在覆盖和放置主窗口的背景为透明,我仍然可以看到与图像不好凝胶的角落。

    <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>
    

    我想用一种方法把角剪成圆形而不是矩形。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Sascha    14 年前

    可能您看到的是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;
    

    这假设项是您的散点视图项。查看SDK中的ScatterViewPuzzle,了解如何为ScatterViewItem创建自定义形状。

    推荐文章