-1

いくつかのコードがあります:

<DataTemplate>
     <StackPanel Orientation="Horizontal">
          <Rectangle Fill="Blue"></Rectangle>
          <TextBlock Text="test"></TextBlock>
     </StackPanel>
</DataTemplate>

Rectangle の代わりに、たとえば楕円など、あらゆる種類の形状を設定できるようにしたいと考えています。

次のようなものが欲しい:

<DataTemplate>
     <StackPanel Orientation="Horizontal">
          <Shape Fill="Blue" ShapeType={Binding DefaultShapeType}></Shape>
          <TextBlock Text="test"></TextBlock>
     </StackPanel>
</DataTemplate>
4

1 に答える 1

1

通常、パスを使用し、ビューモデルプロパティによってそのデータプロパティのジオメトリを提供します。

<DataTemplate>
    <StackPanel Orientation="Horizontal">
        <Path Fill="Blue" Data="{Binding SomeGeometry}" />
        <TextBlock Text="test" />
    </StackPanel>
</DataTemplate>

LineGeometry、RectangleGeometry、EllipseGeometryなどの基本的なジオメトリがいくつかあります。また、StreamGeometryやPathGeometryなどの複雑なジオメトリもあり、事実上あらゆる種類の形状を描画できます。

EllipseやRectangleなどの特殊な形状も、これらのジオメトリを使用して視覚的な外観を定義します。

于 2013-03-22T09:33:00.337 に答える