898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
1

Коллекции и ListView

18.10.2015, 13:01. Показов 721. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Есть класс:

C#
1
2
3
4
5
6
7
class Password
    {
        public string Title { get; set; }
        public int Typez { get; set; }
        public int Modified { get; set; }
    }
}
XAML ListView:

XML
1
2
3
4
5
6
7
8
        <ListView x:Name="ListView1" HorizontalAlignment="Left" Height="195" Margin="234,83,0,0" VerticalAlignment="Top" Width="571">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="100" Header="Title" DisplayMemberBinding="{Binding Path=Title}"></GridViewColumn>
                    <GridViewColumn Width="100" Header="Type" DisplayMemberBinding="{Binding Path=Typez}"></GridViewColumn>
                    <GridViewColumn Width="100" Header="Modified" DisplayMemberBinding="{Binding Path=Modified}"></GridViewColumn>
                </GridView>
            </ListView.View>
Так вот, как с помощью какой-нибудь коллекции (судя по всему ObservableCollection) мой массив объектов класса Password отобразить в ListView?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2015, 13:01
Ответы с готовыми решениями:

Привязка коллекции к ListView
Доброй ночи! У меня практически нет опыта работы в WPF и поэтому никак не могу сообразить, как...

Заполнение ListView из коллекции
Подскажите как осуществить привязку данных в ListView item source из ObservableCollection Есть...

Удаление элемента коллекции в коллекции коллекции )
Есть коллекция (к1), в ней элементы + коллекция (к2), Так вот в к2 тоже есть элементы, и из к2 надо...

Как удалить элемент из коллекции, во время перебора этой коллекции foreach?
Прив. Смотрите что. Есть сервер, на нем 2 класса - Server &amp; ClientConnection. При подключении...

4
16 / 3 / 1
Регистрация: 05.11.2013
Сообщений: 49
18.10.2015, 13:54 2
XML
1
ItemsSource="{Binding Passwords}"
C#
1
2
3
4
5
6
private ObservableCollection<Password> _passwords = new ObservableCollection<Password>();
        public ObservableCollection<Password> Passwords
        {
            get { return _passwords; }
            set { _passwords = value; }
        }
0
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
18.10.2015, 14:48  [ТС] 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        private ObservableCollection<Password> _passwords = new ObservableCollection<Password>();
        private ObservableCollection<Password> Passwords
        {
            get { return _passwords; }
            set { _passwords = value; }
        }
 
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            Password pass = new Password() { Title = "Pass1", Typez = 1, Modified = 8 };
 
            Passwords.Add(pass);
            Passwords.Add(new Password() { Title = "Pass2", Typez = 2, Modified = 1 });
 
            ListView1.Items.Refresh();
        }
XML
1
2
3
4
5
6
7
8
<ListView x:Name="ListView1" HorizontalAlignment="Left" Height="195" Margin="234,83,0,0" VerticalAlignment="Top" Width="571" ItemsSource="{Binding Passwords}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="100" Header="Title" DisplayMemberBinding="{Binding Path=Title}"></GridViewColumn>
                    <GridViewColumn Width="100" Header="Type" DisplayMemberBinding="{Binding Path=Typez}"></GridViewColumn>
                    <GridViewColumn Width="100" Header="Modified" DisplayMemberBinding="{Binding Path=Modified}"></GridViewColumn>
                </GridView>
            </ListView.View>
Не обновляется список listView, а в коллекцию данные добавляются.

Добавлено через 40 минут
Сделал по-другому:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private ObservableCollection<Password> passwords;
 
        public MainWindow()
        {
            InitializeComponent();
 
            passwords = new ObservableCollection<Password>()
            {
                new Password() { Title = "Pass1", Typez = 1, Modified = 8 },
                new Password() { Title = "Pass2", Typez = 2, Modified = 1 }
            };
 
            ListView1.ItemsSource = passwords;
 
        }
 
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            passwords.Add(new Password() { Title = "Pass2212", Typez = 25, Modified = 12 });
 
            ListView1.Items.Refresh();
        }
0
8927 / 4839 / 1885
Регистрация: 11.02.2013
Сообщений: 10,246
18.10.2015, 17:09 4
Коллекция
C#
1
2
3
4
5
6
7
8
9
10
using System.Collections.ObjectModel;
 
namespace ListView_And_Password {
    public class Passwords : ObservableCollection<Password> {
        public Passwords() {
            Add(new Password() { Title = "Pass1", Typez = 1, Modified = 8 });
            Add(new Password() { Title = "Pass2", Typez = 2, Modified = 1 });
        }
    }
}

Разметка
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
<Window x:Class="ListView_And_Password.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:ListView_And_Password"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Window.DataContext>
        <local:Passwords />
    </Window.DataContext>
    <StackPanel>
        <ListView Height="100"
                  ItemsSource="{Binding }">
            <ListView.View>
                <GridView>
                    <GridViewColumn DisplayMemberBinding="{Binding Title}"
                                    Header="Title" />
                    <GridViewColumn DisplayMemberBinding="{Binding Typez}"
                                    Header="Typez" />
                    <GridViewColumn DisplayMemberBinding="{Binding Modified}"
                                    Header="Modified" />
                </GridView>
            </ListView.View>
        </ListView>
    </StackPanel>
</Window>
0
Заблокирован
18.10.2015, 17:30 5
Цитата Сообщение от HanDi Посмотреть сообщение
C#
1
ListView1.Items.Refresh();
HanDi, стирайте, лишнее.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2015, 17:30
Помогаю со студенческими работами здесь

Сделать сортировку коллекции вместо создания новой коллекции с передачей IOrderedEnumerable<T>
Есть: SortableObservableCollection&lt;T&gt; using System; using System.Collections.Generic; using...

Доступ из элемента коллекции к другим элементам коллекции
Подскажите как получить данные из другого элемента коллекции? В приведенном примере необходимо...

Коллекции
Всем привет! Не могу ответить на вопрос учителя, который дал этот код для ознакомления, для чего...

Размер коллекции
Здравствуйте.Как узнать размер коллекции List? Не нашёл метод,да и через Length не выходит.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru