Динамический стиль Stackpanel wp7 - PullRequest
1 голос
/ 07 декабря 2011

Я создал список с 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);
        }

    }

int-сплиттер определяет, сколько изображений подряд.

Решения Меня не интересует панель обертывания, LazyListbox.Кто-нибудь знает способ решить эту проблему с помощью динамического стиля или чего-то элегантного?

С наилучшими пожеланиями

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Как говорит Ku6opr, все устройства имеют определенное разрешение экрана 480х800. Это может измениться с появлением более дешевых устройств в будущем, но они также будут иметь жестко определенное разрешение (320x480).

По сути, у вас будет 2 формата экрана для работы. Тогда было бы просто запросить устройство для разрешения и стиля соответственно. Однако он не обязательно должен быть динамическим - вы можете установить 2 стиля (по одному на разрешение) и затем применить стиль в соответствии с указанным разрешением.

0 голосов
/ 07 декабря 2011

Все устройства WP7 имеют одинаковое разрешение экрана 480х800. Вам не нужно бояться, что некоторые изображения не помещаются на экран.

...