PictureBox背景忽略WPF UserControl

时间:2016-07-18 19:43:48

标签: c# wpf winforms visual-studio-2013 user-controls

我想在瓷砖上创建一个带有动画的Checkers Board。

为此,我创建了一个矩形WPF UserControl来表示图块。

在瓷砖顶部我正在使用带有红色/黑色图片的PictureBox。

在创建和添加图块时,在PictureBoxes之后我无法看到PictureBox,因为它们位于图块后面。 (如果我颠倒了创建和添加元素的顺序,我看到了瓷砖上方的图片,但PictureBoxes的透明背景向我显示了它的形式背景,忽略了它下方的UserControl。

为了更好的解释,我附上了一张照片(我将表单的背景设置为绿色以便更好地理解)

My Checkers Board

这里也是我认为相关的代码部分

WPF UserControl(名为UserControlCell)Xaml

20

每个瓷砖都以这种方式处理

<Grid>
    <Rectangle Fill="White" HorizontalAlignment="Left" Height="50" Width="50"
               VerticalAlignment="Top"  Name="myRect"/>
</Grid>

和每个PictureBox

ElementHost eh = new ElementHost();
UserControlCell square = new UserControlCell ;

square.Size = new Size(someWidth, someHeight);
eh.Size = new Size(someWidth, someHeight);

eh.Location = new System.Drawing.Point(xCoordinate,yCoordinate);

if ((i + j) % 2 == 0)
    square.BackColor = System.Drawing.Color.Black;
else
    square.BackColor = System.Drawing.Color.White;

eh.BackColor = Color.Transparent;

eh.Child = square;

Controls.Add(eh);

可能是什么问题导致图片框认为它的背景是形式而不是瓷砖(或者为什么以相反的顺序添加它们使我根本看不到PictureBoxes)

0 个答案:

没有答案