我有一张覆盖在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>我想要一个方法来剪裁圆角形状,而不是矩形。
发布于 2010-11-18 00:53:47
也发布在MSDN上,答案的链接发布在下面:
Rounding corners of scatterview item-MSDN Forums
发布于 2010-11-11 18:39:26
您看到的可能是ScatterViewItems阴影,而不是您的UserControl。您可以使用以下代码删除代码隐藏中的阴影:
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;这里假设item是你的ScatterViewItem。看看SDK中的ScatterViewPuzzle,看看如何为ScatterViewItem创建自定义形状。
https://stackoverflow.com/questions/4072599
复制相似问题