Как я могу связать холст на сетке с mainwindow.xaml? - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть холст в сетке, я хочу сохранить свой холст в этой сетке, потому что это первое окно, которое открывается в моей программе.

В моем MainWindow.xaml у меня есть ContentPage, который всегда меняет свой контент, загрузочный контент - это страница authentication.На этой странице у меня есть 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>

1 Ответ

1 голос
/ 13 декабря 2011

в вашем коде за MainWindow вы можете попробовать следующее

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

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...