繁体   English   中英

如何将画布上的画布链接到mainwindow.xaml?

[英]How can i link a canvas on a grid, to the mainwindow.xaml?

我在网格中有一个画布,我想将画布保留在该网格中,因为它是在程序中打开的第一个窗口。

在我的MainWindow.xaml中,我有一个ContentPage ,它总是更改其内容,启动内容是authenticationPage。 在此页面中,我有一个Canvas ,它显示我的骨骼跟踪,并用于做出手势。 这个gestureCanvas位于我的authenticationPage 这个gestureCanvas背后的代码在我的MainWindow.xaml.cs中。

我需要将gestureCanvas与我的MainWindow.xaml.cs链接,因为代码在MainWindow后面,并且将在此处使用,因为它是Kinect应用程序。

如何链接这些?

partial class MainWindow
{
    void LoadCircleGestureDetector()
    {
        using (Stream recordStream = File.Open(circleKBPath, FileMode.OpenOrCreate))
        {
            circleGestureRecognizer.TraceTo(gesturesCanvas, Colors.Red);
        }
    }
 }

这是我的认证页面

         <UserControl
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" xmlns:local="clr-namespace:smartHome2011"
xmlns:MyUserControl="clr-namespace:MyUserControl;assembly=MyUserControl"
mc:Ignorable="d"
x:Class="smartHome2011.AuthenticationPage"
x:Name="UserControl"
d:DesignWidth="640" d:DesignHeight="480">

<Grid x:Name="LayoutRoot">
         <Grid x:Name="kinectGrid" HorizontalAlignment="Left">
            <Viewbox Margin="204,220,430,220">
                <Grid ClipToBounds="True" Margin="204,220,430,220">
                    **<Canvas x:Name="gesturesCanvas" />**
                    <Canvas x:Name="kinectCanvas"></Canvas>
                </Grid>
            </Viewbox>
        </Grid>
    </Grid>

在MainWindow后面的代码中,您可以尝试以下

var gesturesCanvas = YourContentPage.FindName("gesturesCanvas") as Canvas;
if (gesturesCanvas != null) {
  // do something
}

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM