-2

WPFパスオブジェクトを使用した次のコードがあります。無料のアイコンがたくさんあるSyncfusionMetroStudio2からジオメトリデータを取得しました。しかし、私がそれらを使おうとすると、それらは切断されます。下のアイコンは家を示しているはずですが、下の境界線内で切り取られています。私の道に何か問題がありますか?

<Grid>
  <Grid.Resources>
     <Geometry x:Key="HomeGeometry">M31.427,15.523L53.103,34.871 53.103,59.723C53.088,60.666 52.466,61.263 51.961,61.544 51.426,61.845 50.850,61.972 50.232,61.976L38.688,61.976C38.290,61.976 37.902,61.821 37.619,61.544 37.340,61.272 37.179,60.890 37.179,60.502L37.179,48.548 25.677,48.548 25.677,60.502C25.677,60.890 25.514,61.272 25.235,61.544 24.953,61.821 24.564,61.976 24.167,61.976L12.622,61.976C12.008,61.972 11.428,61.845 10.895,61.544 10.390,61.263 9.767,60.666 9.752,59.723L9.752,34.871z M31.430,0C32.412,0,33.395,0.347,34.172,1.042L61.536,25.469C63.191,26.947 63.306,29.454 61.791,31.072 60.273,32.685 57.703,32.796 56.048,31.319L31.427,9.342 6.806,31.319C6.024,32.015 5.043,32.358 4.067,32.358 2.964,32.358 1.868,31.925 1.065,31.072L1.062,31.066C-0.447,29.454,-0.335,26.945,1.319,25.469L28.686,1.042C29.464,0.347,30.447,0,31.430,0z
     </Geometry>
  </Grid.Resources>
  <Border
     Width="50" BorderBrush="LightBlue"
     Height="50" BorderThickness="2"
     HorizontalAlignment="Stretch"
     VerticalAlignment="Stretch"
     Focusable="False">
     <Path Data="{StaticResource HomeGeometry}" Fill="Red"/>
  </Border>

4

2 に答える 2

3

あなたが欲しいのは

...
<Path Data="{StaticResource HomeGeometry}" Fill="Red" Stretch="Uniform"/>
...
于 2013-03-21T17:52:10.580 に答える
1

ここに画像の説明を入力してください

ご覧のとおり、境界線はWidth=50およびHeight=50に設定されており、アイコンがそれよりも大きいことがはっきりとわかります。

コードは次のようになります。

<Border
  Width="64" BorderBrush="LightBlue"
  Height="64" BorderThickness="2"
  HorizontalAlignment="Stretch"
  VerticalAlignment="Stretch"
  Focusable="False">
  <Path Data="{StaticResource HomeGeometry}" Fill="Red"/>
</Border>

編集:

または、アイコンを50x50にしたい場合は、「500 --internal..」と言ったことを実行します。Stretch="Uniform"を追加すると、アイコンが50x50に拡大されます。

于 2013-03-21T17:53:17.813 に答える