我有一个场景,目标PC的分辨率有不同的屏幕分辨率。 XAML可以在某种程度上处理它,但当分辨率从800 * 600到1900 * 1400不等时,最好有两个不同的视图/布局(XAML文件)。
我的应用程序是一个MVVM应用程序,我倾向于使用Unity作为IOC容器。代码看起来像
public partial class App:Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
ComposeObjects();
Application.Current.MainWindow.Show();
}
private void ComposeObjects()
{
......
......
Application.Current.MainWindow = container.Resolve<MainWindowView>();
}
}
有没有办法可以根据分辨率解析MainWindowView和其他视图。我会为MainWindow UI提供不同布局的几个视图。
此外,MainWindowView XAML将包含对许多其他视图的引用,这些视图也可能需要根据屏幕分辨率进行解析。
由于
答案 0 :(得分:0)
您可以使用Screen.PrimaryScreen.WorkingArea
(在System.Windows.Forms
命名空间中)。这会将屏幕尺寸返回为Rectangle
。
从这里为您的应用程序创建多个视图或相应地更改控件的大小