4

XAML コード (図形のセットを表す) を、PATH によって提示される単一の図に変更するにはどうすればよいですか?

次のような XAML コードがあるとします。

  <Ellipse Fill="#FF0A0A0E" HorizontalAlignment="Left" Margin="192,184,0,0" 
           Stroke="Black" Width="8" Height="8" VerticalAlignment="Top"/>
  <Rectangle Fill="Black" HorizontalAlignment="Left" Margin="152,187.5,0,0" 
             Stroke="Black" Width="89.5" Height="1" VerticalAlignment="Top"/>

それを単一のパスオブジェクトに変換する必要がありますか?

形状をパスに変換できる Blend 4 を使用してみましたが、上記のコードは次のように変換されました。

<Path Data="M7.5,4 C7.5,5.9329966 5.9329966,7.5 4,7.5 C2.0670034,7.5 0.5,5.9329966 0.5,4 C0.5,2.0670034 2.0670034,0.5 4,0.5 C5.9329966,0.5 7.5,2.0670034 7.5,4 z" 
      Fill="#FF0A0A0E" HorizontalAlignment="Left" Height="8" Margin="192,184,0,0" 
      Stretch="Fill" Stroke="Black" VerticalAlignment="Top" Width="8"/>
<Path Data="M0.5,0.5 L89,0.5 z" Fill="Black" HorizontalAlignment="Left" Height="1" 
      Margin="152,187.5,0,0" Stretch="Fill" Stroke="Black" VerticalAlignment="Top" 
      Width="89.5" />

この質問をしている理由は、パスを 1 つしか定義できないためです。私が間違っている場合は修正してください。もしそうなら、1 つのスタイルに 2 つ以上のパスを埋め込むにはどうすればよいですか?

4

2 に答える 2

2

PathExpression Blend 4 を使用すると、2 つの形状を 1 つに結合できます。

これを行うには、Ctrl キーまたは Shift キーを押しながら両方を選択します。

ここに画像の説明を入力

その後、オブジェクト -> 結合 -> 結合を選択します

そしてあなたの場合、これを出力します

<Path Data="M44,0.5 C45.932995,0.50000024 47.5,2.0670036 47.5,4.0000002 L89,4.0000002 89,4.0100003 47.499496,4.0100003 47.48193,4.3578544 C47.302696,6.122751 45.812183,7.5000002 44,7.5000002 42.187817,7.5000002 40.697304,6.122751 40.51807,4.3578544 L40.500504,4.0100003 0.5,4.0100003 0.5,4.0000002 40.5,4.0000002 C40.5,2.0670036 42.067005,0.50000024 44,0.5 z"
      Fill="Black"
      HorizontalAlignment="Left"
      Height="8"
      Margin="152,184,0,0"
      Stretch="Fill"
      Stroke="Black"
      VerticalAlignment="Top"
      Width="89.5"/>

RectanglesHeightがちょうど 1 の場合、これにはバグがあることに注意してください。そうすると、消えてしまいます。回避するには、これをHeight1.00001 などに設定します

<Rectangle Fill="Black" HorizontalAlignment="Left" Margin="152,187.5,0,0"  
         Stroke="Black" Width="89.5" Height="1.00001" VerticalAlignment="Top"/>
于 2012-06-19T20:10:07.510 に答える
0

1 つのデータ フィールドで複数の個別のパスを実行することは可能です。例えば:

<Path Data="M0,0 L 10,10 L 20, 10 L 20,0 z M 100,5 L 110,15 L 120,15 L 120,5 z" 
      Stroke="Black" Fill="Red" />

Fillただし、両方の部分で同じ、などが必要であると仮定していますがStroke、これはあなたの例には当てはまりません。

于 2012-06-19T19:42:10.843 に答える