0
にバインドTextBoxの
は.csのDataAdapter
<DataGrid x:Name="dgMain" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1" AutoGenerateColumns="False"/>
<TextBox x:Name="textBox" Height="23" TextWrapping="Wrap" Text="{Binding name}" Width="120"/>
の.xaml
DataTable dt;
NpgsqlDataAdapter adapter;
NpgsqlCommand selcmd, upcmd, delcmd, inscmd;
NpgsqlConnection conn;
NpgsqlTransaction tran;
public void ReadAndFill()
{
conn.Open();
tran = conn.BeginTransaction();
selcmd.Connection = conn;
selcmd.Transaction = tran;
dt.Clear();
adapter.Fill(dt);
dgMain.ItemsSource = dt.DefaultView;
tran.Commit();
conn.Close();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ReadAndFill();
DataContext = dt;
}
だから私は、テキストボックス(TextBox)コントロールを通じてのDataTable dtはの最初の行だけを編集することができます。また、DataGrid dgMainを動かすと、textBoxのデータは変更されません。それを修正するには?
なぜ、DataAdapterを最初に使用していますか? NpgsqlはEFをサポートしています - 通常のMvvM/EFコンボデータフローに従わないのはなぜですか?また、最終的に 'name'プロパティを提供しているDataContextに何かがあることは間違いありませんが、ビューモデルは表示されません。 – Maverik
私はwpfでそれを試してみませんでしたが、winformsではバインドされた値の名前と表示名が何であるかをオブジェクトに伝える必要があります。 – Liran
WpfはWinformではありません:)全体に物事を移植しようとすると、悲惨さしかありません。実際にこれを正しい方法で行う方法を学ぶには、ちょっとした時間を費やしてください。これはあなたが扱っている簡単なことです。詳細については、WPFのチャットルームに参加してください:http://chat.stackoverflow.com/rooms/18165/wpf# – Maverik