如果我的目标设备只有一种,我是否需要使用VisualStateManager?

时间:2016-10-05 15:02:45

标签: c# xaml visual-studio-2015 windows-10 windows-10-universal

我正在开发一个Windows 10应用程序,我希望它只能在27英寸LED屏幕的桌面上运行。将在三列中显示数字。唯一的要求是当应用程序(应用程序的窗口?)最大化或变小时,文本(数字)应该增加或减少,即应用程序显示的内容应该根据应用程序窗口大小的大小进行缩放。

我最初尝试过VisualStateManager,但我发现VisualStateManager的意思是。需要做什么?

1 个答案:

答案 0 :(得分:1)

对于您的问题,由于您的应用定位于桌面,因此VisualStateManager可以在您的应用中使用,并且它可能很有意义。正如你所说:

  

唯一的要求是当应用程序(应用程序的窗口?)最大化或缩小时,文本(数字)应该增加或减少,即应用程序显示的内容应该根据应用程序窗口大小的大小进行缩放。

  1. 实际上VisualStateManager不仅设计用于使布局适应不同的设备,在VisualState.StateTriggers property中您可以定义AdaptiveTrigger,它代表一个适用的声明规则基于窗口属性的视觉状态。此外,它还可以直接在Microsoft Visual Studio中的XAML设计图面上查看这些自适应更改的效果。总之,AdaptiveTrigger并非专为不同设备的布局而设计,它专为适应不同窗口大小的应用而设计,如果您的应用在桌面上定位,那么您应用的窗口大小可以由用户更改,可以根据窗口大小更改布局。

  2. AdaptiveTriggerVisualStateManeger的一种用法,另一种是VisualStateManager.GoToState method。例如,当您编辑由XAML设计图面启用的样式副本时,默认模板中的可视状态在您正在编辑的XAML中定义,通常通过请求新VisualState来使用两种状态之间的过渡按名称。

  3. 因此,VisualStateManager可以在您的应用中使用,它可能很有意义,但它不是必需的,它取决于您的布局。 但是对于您的场景,我想您可能需要的是GridView Control,它是一个控件,以行和列显示数据项,它可以自动适应窗口的大小,您可以请参阅官方ListView and GridView sample,了解如何使其有效。