c# - 在 Windows 8 上布局或分辨率发生变化时如何运行函数?

标签 c# windows-8 winrt-xaml

我使用矩形创建了一个条形图,矩形的大小与图的边框成正比。但是,当切换到不同的布局(例如快照 View )时,只有边框的大小会发生变化,而矩形的长度不会发生变化。如何检测布局或分辨率何时发生变化并调用函数来更新矩形的长度?

最佳答案

您应该只使用基本的 VisualStateManager 来在“Snapped/FullScreenPortrait/FullScreenLandscape”时更改布局。

如果您需要更高级的行为,请使用以下方法:
- 将 SizeChanged 处理程序添加到您的页面
- 还将应用程序中的根网格/面板元素命名为 x:Name="Root"并使其水平和垂直拉伸(stretch)。
- 在 SizeChanged 事件处理程序中,您可以通过访问 Root.ActualWidth 和 Root.ActualHeight 找到实际屏幕尺寸。在这里您可以显示/隐藏/更改/调整任何您想要的内容。

关于c# - 在 Windows 8 上布局或分辨率发生变化时如何运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13061442/

相关文章:

matlab - 是否可以在 Windows 8 上安装适用于 Windows 7 的 Windows SDK?

wpf - 为什么在构建引用 WinRT API 的 WPF 应用程序时收到 'ResolveManifestFiles task failed' 错误?

mvvm - Flipview 不更新 SelectedItem

c# - 带有 lambda 和 MySQL 的简单 EntityFramework 抛出异常?

c# - 用 C# 编写一个二进制文件以供 C 程序读取,并带有指针?

c# - 查找特定格式的字符串在给定文本中出现的次数

windows-8 - 如何为 Windows 8 应用程序提供 3 种初始屏幕尺寸?

c# - Windows 通用应用程序中的反向地理编码

c# - Metro 应用程序有条件地禁用 AppBar RightTapped 事件

mvvm - 在 WinRT 中使用 MVVM 的选定项目