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に付属のパズルを調べましたが、動作させることができません。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、別の場合はImageと言います)。とりあえず、ScatterViewアイテムを移動したり拡大縮小したりする必要はないので、影は必要ありません。長方形のボックスを削除したいだけです。