如何在运行时设置边距?

时间:2013-06-08 01:40:10

标签: c# xaml microsoft-metro

我有一个名为MyListView的自定义控件,它继承了ListView。

songlistMargin = new Thickness(2, 74, 2, Window.Current.Bounds.Height / 2 + 18);
playlistMargin = new Thickness(2, Window.Current.Bounds.Height / 2 + 18, 2, 64);

songlistView.Margin = songlistMargin;
playlistView.Margin = playlistMargin;

我希望当应用程序启动时,songListView会降低74像素,而songList的底部将是屏幕大小/ 2 + 18像素高,而是基于Xaml做它想做的任何事情,它不会改变如果屏幕尺寸不同。例如,在1920x1080分辨率下,它从底部开始是558像素,但如果屏幕分辨率发生变化,它也是558像素。与playListView相同,但相反,我希望上边距从558更改,具体取决于屏幕分辨率。

我认为我的问题在于Xaml的初始化,但我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

我想通了,很烦人但很简单......必须指定两个列表视图的高度,而不是尝试用auto计算它们。