Как обычно устанавливается DataContext? - PullRequest
2 голосов
/ 19 октября 2010

Я создал новый проект WPF и добавил DataGrid.Сейчас я пытаюсь найти самый простой способ привязать к нему коллекцию данных.

В загруженном примере, похоже, это делается в окне c'tor:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = new ViewModel();
    }
}

Но тогда привязки не появляются в окне свойств Visual Studio.Я почти уверен, что есть способ установить контекст данных и в XAML ... это сделало бы меня еще более счастливым, если бы я мог сделать это непосредственно через окно свойств, но все параметры привязки пусты.Какой типичный подход?

Редактировать: Через 14 минут он начинает говорить о других методах настройки контекста данных, таких как статические ресурсы и некоторые другие "инъекционный метод.Я хочу узнать больше о них!

Ответы [ 2 ]

3 голосов
/ 19 октября 2010

Обычно я использую MVVM . Вы можете реализовать упрощенную версию, установив контекст данных в своем коде и имея класс типа модели, содержащий ваши данные.

Пример: в вашем коде позади

DataContext = Model; // where Model is an instance of your model

тогда по вашему мнению

<DataGrid .... ItemsSource="{Binding SomeProperty}">....

Где SomeProperty - перечислимое свойство в вашей модели представления

Вы также можете установить контекст данных в XAML, используя свойство DataContext

<uc:SomeUserControl DataContext="{Binding AnotherProperty}"....

Это запустит ваш пользовательский элемент управления в пределах DataContext из AnotherProperty на вашей модели.

Обратите внимание, что это очень упрощенно, но это поможет вам.

2 голосов
/ 19 октября 2010

Взгляните на шаблон проектирования MVVM . Этот шаблон очень подходит для приложений wpf.

Там описано, где хранить ваши данные и как привязать ваш интерфейс к данным.

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