Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Thousbe
6 / 6 / 2
Регистрация: 04.05.2013
Сообщений: 27
#1

[Windows Phone 8.1]Элементы ListView заполняют не всю область - Windows Phone

13.07.2014, 14:51. Просмотров 1166. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток.
Пробую написать простенький RSS Reader. Добавил на страницу ListView и определили для его элементов DateTemplate.
XML
1
2
3
4
5
6
7
8
9
10
11
 <DataTemplate x:Key="NewsTiles"
                      x:FieldModifier="public">
            <StackPanel Background="{StaticResource PhoneAccentBrush}"
                        HorizontalAlignment="Stretch"
                        Margin="15, 5, 15, 5">
                <TextBlock Text="{Binding Title}"
                               HorizontalAlignment="Left"/>
                <TextBlock Text="{Binding Published}"
                               HorizontalAlignment="Right"/>
            </StackPanel>
</DataTemplate>
XML
1
2
3
4
5
6
<ListView x:Name="ContentPanel"
              HorizontalAlignment="Stretch"
              VerticalAlignment="Stretch"
              ItemTemplate="{StaticResource NewsTiles}"
              Margin="0,0,0,0">
</ListView>
C#
1
2
3
4
5
6
7
8
9
public void RandomFill()
{
    List<RssItem> myList = new List<RssItem>();
    for (int i = 0; i < 80; i++)
    {
        myList.Add(new RssItem("Строка " + i, DateTime.Now));
     }
    ContentPanel.ItemsSource = myList;
}
Но элементы заполняют не весь ListView.
[Windows Phone 8.1]Элементы ListView заполняют не всю область
Собственно сам вопрос: Как заставить элементы ListView заполнять всю область?
Попробывал менять размер шаблона при изменении размера старницы.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<Page.Resources>
        <x:Double x:Key="RssListItemWidth">370</x:Double>
        <DataTemplate x:Key="NewsTiles"
                      x:FieldModifier="public">
            <StackPanel Background="{StaticResource PhoneAccentBrush}"
                        HorizontalAlignment="Stretch"
                        Margin="15, 5, 15, 5"
                        Width="{StaticResource RssListItemWidth}">
                <TextBlock Text="{Binding Title}"
                               HorizontalAlignment="Left"/>
                <TextBlock Text="{Binding Published}"
                               HorizontalAlignment="Right"/>
            </StackPanel>
        </DataTemplate>
</Page.Resources>
C#
1
2
3
4
5
6
7
private void Page_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            Size current = e.NewSize;
            //this.Resources["RssListItemWidth"] = current.Width - 30;
            this.Resources.Remove("RssListItemWidth");
            this.Resources.Add("RssListItemWidth", current.Width - 30);
        }
Но при смене ориентации страницы ничего не менятся.
[Windows Phone 8.1]Элементы ListView заполняют не всю область
Заранее спасибо.
0
Миниатюры
[Windows Phone 8.1]Элементы ListView заполняют не всю область  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2014, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос [Windows Phone 8.1]Элементы ListView заполняют не всю область (Windows Phone):

На Windows Phone 8 можно будет запускать приложения для Windows Phone 7 - Windows Phone
Либерман сообщил, что операционная система будет обладать обратной совместимостью с Windows Phone 7. Это означает, что обладатели...

Совместим ли код Windows Phone 7 с Windows Phone 8? - Windows Phone
Совместим ли код Windows Phone 7 с Windows Phone 8?

Разница в Windows Phone Silverlight App и Windows Phone App - Windows Phone
Доброго вам времени суток, товарищи! Возможно вопрос дурацкий, но я не смог для себя уяснить в чём разница и под что лучше разрабатывать...

Правда ли что на windows ниже 8 нет никакой возможности разрабатывать под windows phone - Windows Phone
Правда ли что на windows ниже 8 нет никакой возможности разрабатывать под windows phone? Я например не имею ни малейшего желания переходить...

Можно ли создавать приложение для windows phone 7 на пк с windows 8 - Windows Phone
Хотел начать разрабатывать под windows phone 7 но столкнулся с проблемой что совершенно нифига(мягко выражаясь )не понятно какую студию...

Обмен данными между Windows Phone и Windows по wi-fi - Windows Phone
Как сделать обмен данными между Windows Phone и Windows по wi-fi?

3
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
13.07.2014, 15:59 #2
вам необходимо задать стиль для контейнера
ItemContainerStyle
и у него вызвать
HorizontalAlignment="Center"
Добавлено через 2 минуты
проблема в месте
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<Style TargetType="ListViewItem">
    <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
    <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="TabNavigation" Value="Local"/>
    <Setter Property="IsHoldingEnabled" Value="True"/>
    <Setter Property="Margin" Value="0,0,18,2"/>
    <Setter Property="HorizontalContentAlignment" Value="Left"/>
    <Setter Property="VerticalContentAlignment" Value="Top"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ListViewItem">
                <ListViewItemPresenter
                    ContentTransitions="{TemplateBinding ContentTransitions}"
                    Padding="{TemplateBinding Padding}"
                    SelectionCheckMarkVisualEnabled="True"
                    CheckHintBrush="{ThemeResource ListViewItemCheckHintThemeBrush}"
                    CheckSelectingBrush="{ThemeResource ListViewItemCheckSelectingThemeBrush}"
                    CheckBrush="{ThemeResource ListViewItemCheckThemeBrush}"
                    DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
                    DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
                    FocusBorderBrush="{ThemeResource ListViewItemFocusBorderThemeBrush}"
                    PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
                    PointerOverBackground="{ThemeResource ListViewItemPointerOverBackgroundThemeBrush}"
                    SelectedBorderThickness="{ThemeResource ListViewItemCompactSelectedBorderThemeThickness}"
                    SelectedBackground="{ThemeResource ListViewItemSelectedBackgroundThemeBrush}"
                    SelectedForeground="{ThemeResource ListViewItemSelectedForegroundThemeBrush}"
                    SelectedPointerOverBackground="{ThemeResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"
                    SelectedPointerOverBorderBrush="{ThemeResource ListViewItemSelectedPointerOverBorderThemeBrush}"
                    DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
                    DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
                    ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
                    HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                    VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                    PointerOverBackgroundMargin="1"
                    ContentMargin="4" />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
1
Thousbe
6 / 6 / 2
Регистрация: 04.05.2013
Сообщений: 27
13.07.2014, 18:44  [ТС] #3
Пишет "ListViewItemPresenter is not supported in a Windows Phone project."

Добавлено через 3 минуты
XML
1
2
3
4
5
6
<Style TargetType="ListViewItem"
               x:Key="RssListViewItem">
            <Setter Property="Margin" Value="15, 3, 15, 3"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Top"/>
</Style>
Выводит коротенькие элементы, но только по центру.

Добавлено через 18 минут
Заработало. Спасибо.
0
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
13.07.2014, 18:48 #4
Да, я стиль взял на винрт )
Цитата Сообщение от Thousbe Посмотреть сообщение
Заработало. Спасибо.
и славненько)
0
13.07.2014, 18:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2014, 18:48
Привет! Вот еще темы с ответами:

Windows Phone - Windows Phone
Подскажите пожалуйста, у меня есть json файл по расписанию, где есть такие поля как наименование группы и номер группы. На странице...

Фриланс и Windows Phone - Windows Phone
Только хотел начать учиться писать под Windows Phone (само программирование стал изучать недавно, начал с C# потому что понравился больше...

GPS Windows Phone - Windows Phone
Программа GPS-трекинга. Нужно чтоб координаты определялись только от GPS(не от интернета). Есть идея в функцыи определения местоположения...

Потоки в windows phone 8.1 - Windows Phone
на msdn есть такой пример xml-сериализации с помощью TextWriter. и вроде как написано что должно работать на Windows Phone 8.1 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru