2009/12/12作成
未選択
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[WPF]ViewModelを介してDataGridにバインディングする
○XAML
赤字で、ViewModelのプロパティと紐付けを行う。
青字・緑時で、赤字で紐付けしたプロパティ(DataTable)の列名と紐付けを行う。
<Window x:Class="WpfDataGrid.BindingWithViewModel.TestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestWindow" Height="300" Width="300" Loaded="Window_Loaded">
<Grid>
<DataGrid AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left"
Name="dataGrid1" VerticalAlignment="Top" ItemsSource="{Binding DataTable}">
<DataGrid.Columns>
<DataGridTextColumn x:Name="Column1" Binding="{Binding Path=col1}" Width="100" />
<DataGridTextColumn x:Name="Column2" Binding="{Binding Path=col2}" Width="100" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
○ViewModel
using System.Data;
namespace WpfDataGrid.BindingWithViewModel
{
class ViewModel
{
public DataTable DataTable { get; set; }
}
}
○コードビハインド
水色でViewModelを設定する。
using System.Windows;
using System.Data;
namespace WpfDataGrid.BindingWithViewModel
{
///
/// TestWindow.xaml の相互作用ロジック
///
public partial class TestWindow : Window
{
public TestWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("col1");
dt.Columns.Add("col2");
dt.Rows.Add("1", "One");
dt.Rows.Add("2", "Two");
ViewModel vm = new ViewModel();
vm.DataTable = dt;
DataContext = vm;
}
}
}
赤字で、ViewModelのプロパティと紐付けを行う。
青字・緑時で、赤字で紐付けしたプロパティ(DataTable)の列名と紐付けを行う。
<Window x:Class="WpfDataGrid.BindingWithViewModel.TestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestWindow" Height="300" Width="300" Loaded="Window_Loaded">
<Grid>
<DataGrid AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left"
Name="dataGrid1" VerticalAlignment="Top" ItemsSource="{Binding DataTable}">
<DataGrid.Columns>
<DataGridTextColumn x:Name="Column1" Binding="{Binding Path=col1}" Width="100" />
<DataGridTextColumn x:Name="Column2" Binding="{Binding Path=col2}" Width="100" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
○ViewModel
using System.Data;
namespace WpfDataGrid.BindingWithViewModel
{
class ViewModel
{
public DataTable DataTable { get; set; }
}
}
○コードビハインド
水色でViewModelを設定する。
using System.Windows;
using System.Data;
namespace WpfDataGrid.BindingWithViewModel
{
///
/// TestWindow.xaml の相互作用ロジック
///
public partial class TestWindow : Window
{
public TestWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("col1");
dt.Columns.Add("col2");
dt.Rows.Add("1", "One");
dt.Rows.Add("2", "Two");
ViewModel vm = new ViewModel();
vm.DataTable = dt;
DataContext = vm;
}
}
}
PR
新着記事
2013 - 06 - 27
2013 - 06 - 27
2013 - 06 - 19
2013 - 01 - 11
2013 - 01 - 11
カテゴリー
アーカイブ
検索
新着コメント
ブックマーク