我正在尝试修改C#Kinect示例(Kinect Fusion Explorer)。
在应用程序的主窗口中,有一个网格可以显示kinect融合提要的3D渲染。
我想知道在单击表单中的按钮后是否可以替换此网格的内容。
<Grid x:Name="CompositeHost" Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" HorizontalAlignment="Left" ClipToBounds="False" >
<Viewbox Grid.Column="0">
<Image Name="shadedSurfaceImage"/>
</Viewbox>
<Viewport3D Name="GraphicsViewport" IsHitTestVisible="False" >
<!-- 3D elements are added here programatically, for performance can add the following to line above: RenderOptions.EdgeMode="Aliased" -->
</Viewport3D>
</Grid>
现在,Feed使用ViewPort3D输出Feed。我想在按钮点击后输出一个简单的视频输入。以下是XAML对简单视频源的看法:
<Grid>
<Image Name="videoImage"/>
</Grid>
我对C#和WPF开发完全陌生,所以我只是想知道这是否可以实现,或者我是否需要打开一个全新的窗口来显示视频源。
由于
答案 0 :(得分:1)
我正在研究一个实际上使用了很多的项目,我需要在不同的网格之间进行导航。我正在使用单个窗口和不同的页面,这是我正在做的非常好的例子: http://www.dotnetfunda.com/articles/show/2214/how-to-do-push-to-press-with-kinect-sdk-17 那是一个不是由我做的项目,但基本上是这样的:
<DockPanel>
<Frame x:Name="_mainFrame" NavigationUIVisibility="Hidden" />
</DockPanel>
在这部分中,您声明了mainFrame,它是将在Windows上更改的内容。
(Application.Current.MainWindow.FindName("_mainFrame") as Frame).Source = new Uri("theOtherPage.xaml", UriKind.Relative);
这是点击事件。
请记住使用Uri clas加载不同的资源并命名要更改的大型机。