Windows phone 7 动态堆叠面板样式wp7

Windows phone 7 动态堆叠面板样式wp7,windows-phone-7,dynamic,styles,stackpanel,Windows Phone 7,Dynamic,Styles,Stackpanel,我创建了一个列表框,每个项目有4张图片。它工作得很快,而且非常可爱,但是我不知道如何根据屏幕分辨率来进行日常操作 因此,目前我有4张图片在一行90x90+5页边距,但如果屏幕分辨率不够大,无法支持4张图片只有3张呢?例如,如果我倾斜手机,我的红色,他们也将引入320×480分辨率 <ListBox Height="646" HorizontalAlignment="Left" Margin="6,19,0,0" Name="MainListbox" VerticalAlignmen

我创建了一个列表框,每个项目有4张图片。它工作得很快,而且非常可爱,但是我不知道如何根据屏幕分辨率来进行日常操作

因此,目前我有4张图片在一行90x90+5页边距,但如果屏幕分辨率不够大,无法支持4张图片只有3张呢?例如,如果我倾斜手机,我的红色,他们也将引入320×480分辨率

    <ListBox Height="646" HorizontalAlignment="Left" Margin="6,19,0,0" Name="MainListbox" VerticalAlignment="Top" Width="444" ScrollViewer.VerticalScrollBarVisibility="Visible" >
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <VirtualizingStackPanel Orientation="Vertical"/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
    </ListBox>

    private void GetDataToBind(List<string> images, int spliter)
    {

        for (int i = spliter; i < images.Count; i += spliter)
        {
            StackPanel temp = new StackPanel();
            temp.Orientation = System.Windows.Controls.Orientation.Horizontal;
            for (int j = i - spliter; j < i && j < images.Count + spliter; j++)                  
            {
                Grid tempGrid = new Grid();
                Rectangle temprect = new Rectangle();
                temprect.Fill = new SolidColorBrush(Colors.White);
                temprect.Height = 90;
                temprect.Width = 90;
                tempGrid.Children.Add(temprect);
                tempGrid.Children.Add(GetImageSourceFromString(images[j]));
                temp.Children.Add(tempGrid);

            }
            MainListbox.Items.Add(temp);
        }

    }

私有void GetDataToBind(列表图像,整型拆分器)
{
for(int i=spliter;i
int splitter确定一行中有多少图片

解决方案我不感兴趣包装面板,懒鬼盒子。有人知道用动态风格或优雅的方式解决这个问题吗


致以最诚挚的问候

所有WP7设备都具有相同的屏幕分辨率480x800。您不必担心某些图像不适合屏幕。

正如Ku6opr所说,所有设备的特定屏幕分辨率均为480x800。这将随着未来低成本设备的引入而改变,但它们也将具有严格定义的分辨率(320x480)


实际上,您将有两种屏幕格式可供使用。这将是一个简单的问题,询问设备的决议,并相应的风格。不过,它不需要是动态的-您可以设置两种样式(每个分辨率一种),然后根据报告的分辨率应用样式。

我已经看到了他们也将引入的红色(320×480):诺基亚也将有不同的分辨率。据我所知,从规范中删除了分辨率320x480。此外,诺基亚特定的解决方案不太可能成为现实。好吧,没错。。。。我发现诺基亚终究会有同样的分辨率。但是你不认为硬编码这样的风格是有风险的吗?如果有新的分辨率设备问世,我会挠头的:(一点也不危险。微软对可用的分辨率进行了限制,就像他们为处理器/AM/等设置了最低标准一样。如果新的外形因素出现了,那么你只需添加一种新的样式,然后重新向市场提交应用程序。这不像其他一些手机制造商可以自由发布的生态系统不管他们喜欢什么大小的屏幕,他们都希望应用程序能够处理它。