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

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

Войти
Регистрация
Восстановить пароль
 
Cheeger
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 1
#1

UWP vs WPF - Windows Phone

25.05.2016, 18:37. Просмотров 402. Ответов 0
Метки нет (Все метки)

День добрый. Есть два идентичных проекта:
WPF
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
41
<Window
        x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        mc:Ignorable="d"
        
        Title="MainWindow" Height="350" Width="525">
    <ItemsControl x:Name="iCon">
    <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                </Grid>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
 
        <ItemsControl.ItemContainerStyle>
            <Style TargetType="ContentPresenter">
                <Setter Property="Grid.Column" Value="{Binding Col}" />
                <Setter Property="Grid.Row" Value="{Binding Row}" />
                <Setter Property="Grid.ColumnSpan" Value="{Binding CSpan}" />
            </Style>
        </ItemsControl.ItemContainerStyle>
 
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Content ="{Binding Name}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</Window>
C#
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
41
42
43
44
45
46
47
48
49
50
51
52
using System.Collections.ObjectModel;
using System.Windows;
 
namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public ObservableCollection<Item> items = new ObservableCollection<Item>
            {
            new Item { Col = 0, Row = 0, CSpan = 2, Name = "item0" },
            new Item { Col = 0, Row = 1, CSpan = 1, Name = "item1" },
            new Item { Col = 1, Row = 1, CSpan = 1, Name = "item2" },
            };
 
        public MainWindow()
        {
            this.InitializeComponent();
            iCon.ItemsSource = items;
        }
    }
 
    public class Item
    {
        private int cSpan;
        public int CSpan
        {
            get { return cSpan; }
            set { cSpan = value; }
        }
 
        private int col;
        public int Col
        {
            get { return col; }
            set { col = value; }
        }
 
        private int row;
        public int Row
        {
            get { return row; }
            set { row = value; }
        }
 
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    }
}
И UWP
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
<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="using:App1"
    mc:Ignorable="d">
 
    <ItemsControl x:Name="iCon"  Height="350" Width="525">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                </Grid>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
 
        <ItemsControl.ItemContainerStyle>
            <Style TargetType="ContentPresenter">
                <Setter Property="Grid.Column" Value="{Binding Col}" />
                <Setter Property="Grid.Row" Value="{Binding Row}" />
                <Setter Property="Grid.ColumnSpan" Value="{Binding CSpan}" />
            </Style>
        </ItemsControl.ItemContainerStyle>
 
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Content ="{Binding Name}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</Page>
C#
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
41
42
43
44
45
46
47
48
49
50
51
52
using System.Collections.ObjectModel;
using Windows.UI.Xaml.Controls;
 
namespace App1
{
    public sealed partial class MainPage : Page
    {
        public ObservableCollection<Item> items = new ObservableCollection<Item>
            {
            new Item { Col = 0, Row = 0, CSpan = 2, Name = "item0" },
            new Item { Col = 0, Row = 1, CSpan = 1, Name = "item1" },
            new Item { Col = 1, Row = 1, CSpan = 1, Name = "item2" },
            };
 
        public MainPage()
        {
            this.InitializeComponent();
            iCon.ItemsSource = items;
        }
    }
 
    public class Item
    {
        private int cSpan;
        public int CSpan
        {
            get { return cSpan; }
            set { cSpan = value; }
        }
 
        private int col;
        public int Col
        {
            get { return col; }
            set { col = value; }
        }
 
        private int row;
        public int Row
        {
            get { return row; }
            set { row = value; }
        }
 
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    }
}
Первый работает как надо - отрисовывает три кнопки: одну сверху и две под ней. А вот со вторым какая-то беда - все кнопки отображаются друг на друге. Никак не могу разобраться в чем причина, привязка вроде отрабатывает - Column, Row и ColumnSpan аттачатся. Был бы признателен за совет в какую сторону копать.
Миниатюры
UWP vs WPF   UWP vs WPF  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2016, 18:37     UWP vs WPF
Посмотрите здесь:

MySql в UWP - Windows Phone
Необходимо реализовать в приложении обращение к серверной БД, прошу помочь с поиском информации по этой теме(может, кто сталкивался)......

Разработка UWP приложения - Windows Phone
Делаю универсальное приложение на windows 10 (uwp). В контейнере Grid имеются два TextBox (кнопка, текстовое поле...не важно что),...

Программное закрытие приложения UWP - Windows Phone
подскажите как программно завершить выполнение приложения

Не работают Visual States с Adaptive Trigger (UWP) - Windows Phone
У меня есть ListView внутри PivotItem'a. В качестве шаблола указан UserControl с вижуал стейтами. Почему-то вижуал стейты не активируются...

Приложение UWP. Как убрать белую полосу? - Windows Phone
Как убрать белую полосу?

Реализация индикатора загрузки WebView (только начал программировать на UWP) - Windows Phone
Я хотел бы поместить индикатор загрузки на гамбургер меню, а сам фрейм с WebView поместить в SplitView.Content... И проблема в том, что...

Как использовать UWP библиотеку в WPF приложении? - C# WPF
Привет есть проект wpf приложения хочу добавить в него нужную библиотеку через менеджер пакетов ругается ------------ ...

Использовать функционал UWP планшета без UWP - C# WPF
Добрый день. Пишу приложение на .NET WPF которое будет работать на Windows 10 планшете, в котором есть слот под sim-карту. Возникла...

UWP и MS Access - C#
Выделяет красным using System.Data.Oledb; в приложении UWP. В WinFoems все нормально. Есть ли возможность каким-то образом импользовать...

Реализация INotifyPropertyChanged (UWP) - C# WPF
Доброго времени суток! Есть изображение(Xaml Image) на View. Для него есть Binding &lt;Image Grid.Row=&quot;1&quot; Grid.Column=&quot;1&quot; ...

[UWP] Разбить ячейку пополам - C# WPF
Здравствуйте! Есть проблема: выводим расписание, с обычными парами всё в порядке, но есть деление на числитель и знаменатель,...

Не запускается отладка и конструктор UWP - Visual Studio
Хай. Переустановил винду 10, после чего сразу на чистую поставил Visual 2015 Pro. Запускаю совершенно новый проект и вижу, что не...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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