2009-10-01 8 views
6

私のプロジェクトでは、カスタムコントロールの側面に小さなロゴを表示したい。私はキャンバスを持っていないので、私は、ビジュアルブラシがロゴをバックグラウンドに置く良いアイデアかもしれないと考えました。WPF:ヘルプ!視覚的なブラシstrechesすべてのコンテンツ

<VisualBrush> 
    <VisualBrush.Visual> 
     <Rectangle Width="200" Height="200" Fill="Red" /> 
    </VisualBrush.Visual>     
</VisualBrush> 

私が今使っている矩形は200x200ではありません。それは完全な利用可能なスペースを取る。それは私が欲しいものではありません。私もViewboxを試してストレッチプロパティを設定しましたが、結局は単純なRectangleではなく、多くのパスオブジェクトを子として持つキャンバスが必要なので結果は同じです。 Viewboxは1つの子のみをサポートします。

これは、この問題を回避する方法はありますか?

答えて

10

あなたVisualBrushTileModeStretchAlignmentXAlignmentYプロパティを設定する必要があります。

<VisualBrush TileMode="None" Stretch="None" AlignmentX="Left" AlignmentY="Top"> 
    <VisualBrush.Visual> 
     <Rectangle Height="200" Width="200" Fill="Red"></Rectangle> 
    </VisualBrush.Visual> 
</VisualBrush> 
+0

完璧に動作します。どうもありがとう。 – TalkingCode

+0

私はTileMode = "None"とStretch = "None"が見つかりませんでした – juFo

0

追加グリッドと右 サンプルコードこのセット垂直トップへalligmentと水平方向の配置

<VisualBrush x:Key="myVisual"> 
     <VisualBrush.Visual> 
      <Grid> 
       <Rectangle Height="200" Width="200" Fill="Red" HorizontalAlignment="Right" VerticalAlignment="Top" ></Rectangle> 
      </Grid> 
     </VisualBrush.Visual> 
    </VisualBrush> 
関連する問題