C#Metro(XAML):为任何(%)屏幕设计页面
我创建了一个媒体播放器,它在MainPage上有两个(主要)东西:页面左侧的ListView(用于播放列表)和覆盖页面右侧的MediaElement(用于音频和video)。 此外,页面的底部是空的,因为我正在使用AppBar,我有控件(播放,暂停,停止,音量,下一个,上一个,随机播放,重复,全屏等)。 在ListView上方,我有4个按钮,用于从ListView添加/删除文件。
问题是 :
- 当应用只在屏幕的一半时:
- ListView的宽度非常小,歌曲/video的标题是4-5行
- MediaElement的宽度也非常小,它会丢失video的部分+它会破坏宽高比
- 当应用仅占屏幕的1/4(四分之一)时:
- ListView的宽度非常小,如果没有滚动,我看不到超过2-3首歌曲
- 我只看到在MediaElement上播放的video的一半
- AppBar上的按钮发生碰撞
- ListView顶部的按钮占据了屏幕的1/3(三分之一)
要解释一下我的页面设计 :
-
整个页面有一个Grid,有两行:在第一行,屏幕上的所有内容都有主网格,第二行只是AppBar的空间
-
我之前讨论过的主要网格是整个页面的两列:
-
在页面的第一列,我有MediaElement,
Width="800" Height="450"
。 我知道使用像素设置宽度和高度不是一个好主意,但我不知道如何以另一种方式做到这一点 – 在第二列我有另外一个2行网格: -
第一行包含一个VariableSizedWrapGrid,ListView顶部有4个按钮
-
第二行包含带有模板的ListView(Margin =“6,20”):
我还有包含2行网格的AppBar:
-
在第一行我有一个滑块:
(滑块也讨厌宽度=“1000”属性,特别是当它在屏幕的1/4处时)
-
在第二行我有另一个Grid有两列,每列包含一个StackPanel按钮:
我跳得像:
- 在屏幕的1/2处:MediaElement位于页面顶部,ListView与页面底部的4个按钮
- 在1/4 pf的屏幕上:只有ListView和它上面的按钮可见(antListView中的文字会更小)
我已经看到Windowsapp store中的应用程序可以从全屏变为屏幕的1/2,所以它是可能的。
请帮助我这些人,我不是设计师,但我希望我的应用程序在页面的任何%上看起来都很好。