0

我为我的 xaml 项目创建了一个简单的用户控件,但正如您从我的图像中看到的那样,我似乎无法做某些事情。

在此处输入图像描述

忽略红线,它是控件的大小,用于说明它的大小。

它的位置应该在屏幕中间:

<Client:TileMenu HorizontalAlignment="Center" VerticalAlignment="Center" Name="TileOverlayMenu" Background="Azure" BorderBrush="Aquamarine" BorderThickness="3" />

正如你所看到的,它的背景颜色应该是“Azure”,蓝色边框为 3。

为什么是这样?

在后台我有一个画布:

<Grid x:Name="ContentPanel" Grid.Row="0" Margin="12,0,12,0">

            <Canvas Name="GameCanvas">

                <Canvas.RenderTransform>
                    <CompositeTransform x:Name="CanvasRenderTransform" />
                </Canvas.RenderTransform>

                <toolkit:GestureService.GestureListener>
                    <toolkit:GestureListener DragStarted="GestureListener_DragStarted" DragDelta="GestureListener_DragDelta" Tap="GestureListener_Tap" PinchStarted="GestureListener_PinchStarted" PinchDelta="GestureListener_PinchDelta"/>
                </toolkit:GestureService.GestureListener>

            </Canvas>

            <Client:TileMenu HorizontalAlignment="Center" VerticalAlignment="Center" Name="TileOverlayMenu" Background="Azure" BorderBrush="Aquamarine" BorderThickness="3" />

        </Grid> 

至于我的第三个问题,画布中的事件会导致移动滑块被打断,使我每次只能推动一点:-/

4

1 回答 1

1

如果TileMenu是 UserControl,则必须在 UserControl 的 XAML 中的顶级容器上设置这些属性,因为这定义了控件的整个可视结构。

但是,您可以绑定到 UserControl 中的适当值:

<UserControl x:Class="YourNamespace.TileMenu" ...
             x:Name="tileMenu">
    <Border BorderBrush="{Binding BorderBrush, ElementName=tileMenu}"
            BorderThickness="{Binding BorderThickness, ElementName=tileMenu}">
        <Grid>
            ...
        </Grid>
    </Border>
</UserControl>
于 2013-04-13T20:14:36.093 回答