我有一个包含 Canvas 的 ScatterViewItem
<Ellipse x:Name="Outer_Ellipse" Fill="White" Width="200" Height="200"></Ellipse>
<Ellipse Fill="Red" Canvas.Top ="15" Canvas.Left="15" Canvas.Right="15" Canvas.Bottom="15" Width="170" Height="170" ></Ellipse>
</Canvas>
</s:ScatterViewItem>
我想提供一个自定义形状,以便不显示默认的矩形形状(这是我当前实现的图片。
我在此处的链接文本中遵循了此示例,并查阅了 SDK 附带的 Puzzle,但我无法使其正常工作,我的 ScatterViewItem 是空白的。
我在 SurfaceWindow.Resources 中定义了一个路径
<Path x:Key="ScatterShape" Fill="Blue">
<Path.Data>
<EllipseGeometry
RadiusX="200"
RadiusY="200">
</EllipseGeometry>
</Path.Data>
</Path>
并从上面的链接复制样式属性。我按照说明创建了我的 CustomShape.cs,然后创建了 ScatterViewItem。
System.Windows.Shapes.Path path;
path = (System.Windows.Shapes.Path)Resources["ScatterShape"];
CustomShape poly = new CustomShape(path.Data);
ScatterViewItem item = new ScatterViewItem();
item.Content = poly;
item.CanScale = false;
Binding binding = new Binding();
binding.Source = poly;
item.SetBinding(ScatterViewItem.DataContextProperty, binding);
scatter.Items.Add(item)
我对上面的代码有点困惑,因为我对这条线的理解
item.Content = poly
会覆盖 ScatterViewItem 的内容(即在我的情况下是 Canvas 或在另一种情况下说是图像)。目前我不需要移动或缩放 ScatterView 项目,因此不需要阴影我只是想删除矩形框。