Как связать Grid в WPF при использовании MVC? - PullRequest
0 голосов
/ 09 августа 2011

Я знаю способ привязки MVC одной строки к одному TextBox.Вот как это можно сделать:

C #:

namespace WpfApplication4
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DataContext = Model;
        }

        public ModelClass Model = new ModelClass();

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Model.Output += "Setting New Output! ";
        }

        public class ModelClass : INotifyPropertyChanged
        {
            string _output;
            public event PropertyChangedEventHandler PropertyChanged = 
                         delegate { };    
            public string Output
            {
                get { return _output; }
                set { _output = value;
                    PropertyChanged(this, 
                                    new PropertyChangedEventArgs("Output"));
                }
            }
        }
    }
}

XAML:

<Window x:Class="WpfApplication4.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="Button" VerticalAlignment="Top"  
                Name="button1"  Click="button1_Click" />
        <TextBox  VerticalAlignment="Bottom"  
                  Name="textBox1" Text="{Binding Path=Output}" />
    </Grid>
</Window>

Но я могуНе можете найти способ связать двумерный массив (или список) с Grid или DataGrid.Вы можете помочь мне с этим?Я не смог найти рабочий пример на SO.

Ответы [ 2 ]

1 голос
/ 09 августа 2011

если вы хотите связать данные с сеткой данных, вам следует прочитать что-то о следующем:

ICollectionView, BindingListCollectionView

если у вас есть какой-то набор, который вы просто задаетеthe itemssource.

<DataGrid ItemsSource="{Binding Path=MyCollection, Mode=OneWay}" />

Типами коллекций являются в основном ObservableCollection или DataSet / DataTable.если ваша коллекция поддерживает редактирование и т. д., вы можете сделать это с помощью таблицы данных.

1 голос
/ 09 августа 2011

Подумайте об использовании DataGrid для отображения двумерного массива, при условии, что вы можете хранить свои данные как List<ColumnData>, где ColumnData - это класс с одним свойством на столбец таблицы.

WPF SDK содержит DataGrid, и есть несколько сеток данных от поставщиков, которые имеют дополнительные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...