Последовательность следующая:
1) Переместите код из класса MainWindow в пользовательский класс и установите свойство DataContext
:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainWindowViewModel();
}
}
public class MainWindowViewModel
{
public MainWindowViewModel()
{
myData = new List<Item>
{
new Item{ Id=5, Description="Brown Car", Title="my car"},
new Item{Id=1,Description="sweet dog", Title="my dog"},
};
}
public List<Item> MyData
{
get
{
return myData;
}
}
List<Item> myData;
}
2) Изменить привязку DataGrid
:
ItemsSource="{Binding MyData}"
3) Добавьте новый ResourceDictionary с именем DataGridSample.xaml
, откройте его свойства (Щелкните правой кнопкой мыши -> Свойства), установите свойство BuildAction
для DesignData и очистите значение свойства CustomTool
.
4) Скопируйте этот код, но измените пространство имен vm
с WpfApplication1
на ваше:
<vm:MainWindowViewModel xmlns:vm="clr-namespace:WpfApplication1">
<vm:MainWindowViewModel.MyData>
<vm:Item Id="1" Title="My dog" Description="Sweet dog" />
<vm:Item Id="5" Title="My car" Description="Brown car" />
</vm:MainWindowViewModel.MyData>
</vm:MainWindowViewModel>
5) Вернитесь к MainWindow.xaml
и добавьте следующие строки к элементу Window
, где все объявления:
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DataContext="{d:DesignData Source=DataGridSample.xaml}"
После этого вы можете переключиться в режим проектирования и увидите сетку данных в две строки.