Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该为WPF中的摄像头监控提供哪种UI?_Wpf_User Experience - Fatal编程技术网

我应该为WPF中的摄像头监控提供哪种UI?

我应该为WPF中的摄像头监控提供哪种UI?,wpf,user-experience,Wpf,User Experience,我被要求开发一个WPF应用程序,它从一些摄像头检索数据,并在应用程序内部的一些窗格上显示输出。我刚刚找到了用于播放视频的UserControl,它基于VideosPlatform(by) 我的问题不是关于如何再现视频播放,而是关于用户界面,我应该给出 场景如下。我可以在应用程序上播放最多6个视频,但最终,用户可以选择显示哪个摄像头。(为此,我想到了一个树状视图,用户将相机拖入工作区 主要的问题是如何划分应用程序上下文以显示播放?我想我不能只使用Grid.RowsDefinition/Grid.C

我被要求开发一个WPF应用程序,它从一些摄像头检索数据,并在应用程序内部的一些窗格上显示输出。我刚刚找到了用于播放视频的UserControl,它基于VideosPlatform(by)

我的问题不是关于如何再现视频播放,而是关于用户界面,我应该给出

场景如下。我可以在应用程序上播放最多6个视频,但最终,用户可以选择显示哪个摄像头。(为此,我想到了一个树状视图,用户将相机拖入工作区

主要的问题是如何划分应用程序上下文以显示播放?我想我不能只使用
Grid.RowsDefinition/Grid.ColumnsDefinition
并将其划分为6个部分。如果用户只有一个摄像头处于活动状态怎么办?我会让它全屏显示

对此有何建议/经验?
谢谢使用带有UniformGrid的ItemsControl。UniformGrid会根据配置和显示的项目数量自动添加行/列

<ItemsControl Grid.Row="0" ItemsSource="{Binding LoadedDevices}">
  <ItemsControl.ItemContainerStyle>
    <Style>
      <Setter Property="FrameworkElement.Margin" Value="5"/>
    </Style>
  </ItemsControl.ItemContainerStyle>
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <UniformGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Border BorderThickness="1" BorderBrush="Black">
        <Grid>


          <views:DeviceView x:Name="display" Img="{Binding DeviceImage}"/>

        </Grid>
      </Border>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

然后(可以)看起来像这样:


使用带有UniformGrid的ItemsControl。UniformGrid会根据配置和显示的项目数量自动添加行/列

<ItemsControl Grid.Row="0" ItemsSource="{Binding LoadedDevices}">
  <ItemsControl.ItemContainerStyle>
    <Style>
      <Setter Property="FrameworkElement.Margin" Value="5"/>
    </Style>
  </ItemsControl.ItemContainerStyle>
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <UniformGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Border BorderThickness="1" BorderBrush="Black">
        <Grid>


          <views:DeviceView x:Name="display" Img="{Binding DeviceImage}"/>

        </Grid>
      </Border>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

然后(可以)看起来像这样:


我没有太在意就接受了这个建议,谢谢,我已经删除了,也许可以试试UniformGri,这样你就不会在显示不同数量的相机时遇到问题。我尝试一下……我完全不知道有这样一个控件,谢谢我没有太在意就接受了这个建议,谢谢,我已经删除了,也许可以试试UniformGrid、 这样,你就不会在显示不同数量的摄像机时遇到问题。我尝试了一下……我完全不知道有这样一个控件,像一个魔咒一样感谢,只是一个问题X(关闭按钮放在控件内,所以在我的情况下,我需要一种标题,我必须在其中添加一行?)@advapi在我的例子中,它只是放在底层显示器上,我将水平对齐设置为右侧,垂直对齐设置为顶部,就像一个符咒一样,只是一个问题X(关闭按钮放在控件内,所以在我的例子中,我需要一种标题,我必须在其中添加一行?)@advapi在我的例子中,它只是放在底层显示器上,我将水平对齐设置为右侧,垂直对齐设置为顶部