ControlTemplate
にはPath
が含まれています。 は、Button
のように、それらが入っているコントロールを伸ばして塗りつぶしたいと思います。これどうやってするの?XAMLパスを伸ばしてその要素を埋め込む
<ControlTemplate x:Key="SomeTemplate" TargetType="Button">
<Canvas Background="AliceBlue">
<Path Data="M 99.5,50 A 49.5,49.5 0 1 1 0.5,50 A 49.5,49.5 0 1 1 99.5,50 z"
Fill="White" Stroke="Black" StrokeThickness="1" />
<Path Data="M 15,50 C 17.5,22.5 47.5,22.5 50,50 C 52.5,77.5 82.5,77.5 85,50"
Stroke="Black" StrokeThickness="1" />
</Canvas>
</ControlTemplate>
...
<Button Template="{StaticResource SomeTemplate}" Height="120" Width="120" />
私はScaleTransform
を認識していのStrechX
とStretchY
属性が、彼らは、元Path
の唯一の比例スケーリングされているのサイズ:
は、私が現在持っていることは、このようになります。
私はバリューコンバータを使用しますか?あるいは、おそらく親のサイズに対する相対的な束縛の何らかの形ですか?
、感謝します。 –
これは素晴らしいです、私のために働いた。キャンバスやパスの周りにViewBoxを投げることで、パスが伸びていないという事実が解決された理由を理解しておきたいと思います。 –
まあ、基本的には、それは 'Viewbox'のためです。 :-)コンテナのサイズに固有のサイズ( 'Path'や' Canvas'のような)を持つものを伸ばします。 –