silverlightコントロールのzインデックスをプログラムで変更するにはどうすればよいですか?
-
05-07-2019 - |
質問
スタックパネルにプログラムでいくつかのコントロールを追加しました。私がやりたいのは、このスタックパネルのコントロールの1つを別のコントロールの上に配置することです。具体的には、このスタックパネルの画像の上にボタンを配置します。 C#コードビハインドでzindexプロパティが見つかりませんでした。それは非常に単純な問題のようですが、この問題を解決する手がかりを見つけることができません。誰でもください...... ??
解決
すべてのコントロールをキャンバスに配置してみてください。次に、Zindexを次のように設定できます。
this.controlName.SetValue(Canvas.ZIndexProperty, 10d);
他のヒント
Canvas
パネルのみが ZIndex
プロパティをサポートします。 Stackpanelは、各アイテムがパネル内で次々に配置されるため、それらが互いに重なってはならないため、そうではありません。これは、以前の仮定が実際に真実ではないため、アイテムを移動するアニメーション化された変換があるときに少し面倒なことがあります。
一般に、ビジュアルスタックにアイテムを配置する必要がある場合、Stackpanelは適切な場所ではありません。おそらく Canvas
または Grid
を使用できます。この場合、要素の元の位置によって「zorder」が決定されます。セル内。
xamlから:
<StackPanel Canvas.ZIndex="1">
</StackPanel>
所属していません StackOverflow