2011-02-02 17 views
1

UserControlのZIndexを設定するにはどうすればよいですか? 私が試してみましたSilverlightの設定ZIndex of UserControl

Canvas.SetZIndex((Tile)sender, 99); 
((Tile)sender).SetValue(Canvas.ZIndexProperty, 99); 

タイルは、私が実際に画面に表示されるものであるユーザーコントロール内の四角形を持っている私のUserControl の名前です。 は私も

編集しようとしている:ここで

を私のユーザーコントロールのためのXAML

<UserControl x:Class="Carcassonne.Tile" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    d:DesignHeight="76" d:DesignWidth="76"> 

    <Canvas x:Name="LayoutRoot" Background="Transparent"> 
     <Rectangle x:Name="rect" 
        Width="76" Height="76" 
        HorizontalAlignment="Left"> 
      <Rectangle.Fill> 
       <ImageBrush x:Name="tileImage"> 
        <ImageBrush.RelativeTransform> 
         <RotateTransform x:Name="rotation" CenterX="0.5" CenterY="0.5" Angle="0" /> 
        </ImageBrush.RelativeTransform> 
       </ImageBrush> 
      </Rectangle.Fill> 
     </Rectangle> 
    </Canvas> 
</UserControl> 
+0

ユーザーコントロールはキャンバスパネル内にありますか?あなたはzIndexを設定しようとしていますか?言い換えれば、マークアップのXAMLコードを提供できますか? –

+0

@Pavlo Glazkovはい、ユーザーコントロールはキャンバスパネル内にあります。私は多くのユーザーコントロールを持っており、メインのキャンバスまたは互いに対してZ-インデックスを設定する必要があります。私のオープニングポストで私の編集を見てください。 – Arizona1911

答えて

1

ここではいくつかの仮定が何であるかをされています

  • あなたは、いくつかの外側のユーザーコントロールを持っていますか、ページ。
  • この外部UserControlにはCanvasが含まれています。
  • このキャンバスには、Carcassonne.Tileコントロールのインスタンスである複数の直接の子があります。
  • 影響を受けたタイルを最前面に移動したい各タイル左マウス・ダウン・イベントに、イベント・ハンドラをアタッチしました。

すでに使用しているコードは動作するはずの場合であること:あなたは、彼らがあまりにも99 Z-インデックスで終わる他のタイルをクリックしてください場合を除き=

Canvas.SetZIndex((Tile)sender, 99); 

。あなたが必要とするのは、使用された最後のZindex値を共通に保持し、イベントが発生するたびにその値をインクリメントして使用することです。

この回答は、1つまたは複数の仮定が間違っている可能性があるため、おそらく役に立たないでしょう。あなたがあなたの質問にもっと記述的になることができれば、よりよくマッチする答えが見つかるはずです。

+0

あなたの前提はすべて正しいです。マウスボタンを押すと、アクティブなタイルのZIndexが99に設定されます。マウスボタンが離されると、ZIndexが98に設定されます。アクティブなタイルは常に上に表示されます。これは私が後にする効果ですが、私が投稿したコードはそのトリックをしません。 – Arizona1911

+0

@ Arizona1911:あなたが今までに提供したすべての情報に従うべきです。したがって、あなたがまだ持っていない情報があります。あなただけがそれが何であるかを知っているでしょう。 – AnthonyWJones

関連する問題