Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2013, 18:15   #1
Sawyer1111
Новичок
Джуниор
 
Регистрация: 09.02.2013
Сообщений: 1
Вопрос Привязка DataGrid

Объясните, почему так криво работает метод добавления в коллекцию и отображение в DataGrid.Использую привязку в XAML.
Код:

<Window x:Class="bild.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:bild"
        Title="MainWindow" Height="519" Width="525">
    <Window.Resources>
        <sys:ViewModel x:Key="DataSource"/>        
    </Window.Resources>
 
        <Grid>
        <ListBox ItemsSource="{Binding Source={StaticResource DataSource}, Path=Persons}" 
                 DisplayMemberPath="Name"                 
            HorizontalAlignment="Left" Margin="49,21,0,201" Name="listBox1" Width="425" />
        <Grid DataContext="{Binding Source={StaticResource DataSource}}" Height="149" HorizontalAlignment="Left" Margin="49,134,0,0" Name="grid1" VerticalAlignment="Top" Width="425">
            <DataGrid 
                ItemsSource="{Binding Source={StaticResource DataSource}, Path=Persons}" 
                AutoGenerateColumns="False" Height="143" HorizontalAlignment="Left" Margin="36,0,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="383" >
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Age}"  Header="Age" ></DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="296,290,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
    </Grid>
</Window>

Код:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
namespace bild
{   
    public partial class MainWindow : Window
    {
        
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            ViewModel r = new ViewModel();
            r.ad();
            dataGrid1.ItemsSource = r.Persons;
        }
    }
    public class ViewModel
    {
        public ViewModel()
        {
            this.Persons = new ObservableCollection<Person>();
            this.Persons.Add(new Person("Ivan", 23));
            this.Persons.Add(new Person("Stefan", 34));
            this.Persons.Add(new Person("Maria", 16));
            this.Persons.Add(new Person("Michael", 78));
            
        }
        public void ad()
        {
           this.Persons = new ObservableCollection<Person>();
            this.Persons.Add(new Person("Maria", 16));
            this.Persons.Add(new Person("Michael", 78));
          
        }
 
        public ObservableCollection<Person> Persons
        {
            get;
            set;
        }
    }
    public class Person
    {
        public Person(string name, int age)
        {
            this.Name = name;
            this.Age = age;
        }
        public string Name
        {
            get;
            set;
        }
        public int Age
        {
            get;
            set;
        }
    }
}
Sawyer1111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение из datagrid varelik Visual C++ 1 10.08.2012 14:08
вывод в datagrid wm_leviathan Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 28.11.2011 16:31
И снова datagrid daruwanov WPF, UWP, WinRT, XAML 1 09.07.2011 21:10
DataGrid C# Dizell Общие вопросы .NET 2 22.07.2010 16:59
keypress datagrid tigrend Общие вопросы .NET 0 11.05.2010 08:27