2014-10-09 6 views
1

Я очень новичок на WPF, C# и Kinect. Но я узнал, как инициализировать kinect и показать два окна. Мое приложение - игрушечное, с полноэкранным приложением с кнопкой, когда пользователь нажимает, он должен открыть новое окно.Использование одного kinect с двумя окнами

Я пытался, но две вещи не будут работать:

  • когда новое окно открыть окно пользователя не будет Kinect показывать любое тело
  • при закрытии окна (восходящую к основной) приложение терпит крах

окно прототип XAML как это:

<Window ...> 
    <k:KinectRegion Name="region_"> 
     <Grid> 
     <k:KinectUserView .../> 
     </Grid> 
    </k:KinectRegion> 
</Window> 

На C# стороне, у меня есть класс прототип как это:

public partial class MainWindow : Window 
{ 
    public KinectSensor sensor_ = KinectSensor.GetDefault(); 

    public MainWindow() 
    { 
     //... 
     KinectRegion.SetKinectRegion(this, region_); 
     this.sensor_.Open(); 
    } 
} 

Вторичная страница (с идентичным конструктору выше) есть кнопка, которая вызывает функцию, которая в основном говорит sensor_.Close() и this.Close().

Можно ли использовать один кинект с несколькими окнами? Если нет (скажите, что я могу!), Как я могу продолжить использование двух «взглядов»? Страницы AFAIK, читающие в Интернете, требуют NavigationWindow, а VS жалуется, что я не могу добавить к нему область kinect.

Спасибо!

ответ

0

Получается, что вам не нужно закрывать датчик. Для того, чтобы сделать больше окон работы с одним датчиком:

  • пройти KinectSensor инициализирован в основном один в «ребенок» окна
  • инициализировать область ребенка

Вам просто нужно this.Close() без когда-либо снова открывая поток или закрывая его. Пользовательское представление Kinect работает безупречно.

Смежные вопросы