2

私のSilverlight4アプリケーションでは、不規則な形状のユーザーコントロールを作成する必要があります。UCの「メインディスプレイ」は標準の長方形ですが、メインディスプレイの長方形の外側にあるタブ(ユーザーがクリックできる単純なテキストブロック)が必要です。

これはSilverlight4で可能ですか?もしそうなら、どのように?

前もって感謝します。

4

3 に答える 3

1

つまり、タブの後ろに透明な背景を設定して、クリックを通過させ、形状が異なっているかのように効果的に動作させることができます。UserControlは、ポップアップにラップしてUCから少しオフセットして浮かび上がらない限り、タブを含む長方形のままです。

于 2011-03-30T15:18:13.690 に答える
1

技術的には、の代わりにUserControlCanvasを使用すると、長方形の外側に要素を含めることができます。キャンバス内の要素は、キャンバスサイズにクリップされません。ただし、これを使用してコントロールを内部でサイズ変更および位置合わせすることはできないため、これはお勧めしません。すべての子コントロールを内に配置することをお勧めします。LayoutRootGridMarginGrid LayoutRoot

それは私たちに不規則性の問題をもたらします。コントロールの「透けて見える」部分を表示してクリックできるようにする(つまり、その下のオブジェクトをクリックする)場合は、UserControl「」と「LayoutRoot」をそのままにBackgroundするnullか、まったく設定しないだけです。背景が不足している場合は、クリックが発生します。背景を背景に設定すると、マウス入力に対してコントロールが長方形として動作するようになることに注意してくださいTransparent(単色で塗りつぶされているかのように)。

もう1つは、アプリのシースルー部分の下にHTMLコントロールを表示する場合です。次に、ウィンドウレスモードを使用する必要がありますが、これはワームのもう1つの可能性です。

于 2011-03-30T15:35:20.500 に答える
1

コントロールの要素は、さまざまな方法で通常のレイアウトの外側に配置できます。使用することもできますCanvasが、コントロールのほとんどが標準のグリッド長方形である場合は、グリッドを使用できます。秘訣は、負のマージンを使用することです。

 <Grid x:Name="LayoutRoot">
     <Border Margin="0 -22 0 0">
         <TextBlock Text="I appear above the UserControl layout" />
     </Border>
 </Grid>

Usercontrolがビジュアルルートとして使用されている場合、Silverlightプラグインはクライアントの長方形の周囲をレンダリングしないため、これは機能しないことに注意してください。

于 2011-03-30T20:42:52.647 に答える