WPFでデータベースをバインドする方法
WPFでデータベースにバインドする方法にはいくつかありますが、次に一般的に使用されている方法を1つ示します。
- まず、System.Data 名前空間がプロジェクトで参照されていることを確認します。
- データベースに接続してクエリを実行するための ADO.NET などのデータ ソースを作成します。この処理には、SqlConnection、SqlCommand、および SqlDataReader クラスを使用するか、Entity Framework などの ORM フレームワークを使用してデータ アクセスを簡素化できます。
- XAMLでは、Bindingマークアップを使用してデータソースを画面要素にバインドします。例えば、Textプロパティを使用して、TextBoxコントロールをデータベーステーブルの何らかのフィールドにバインドできます。
<TextBox Text="{Binding Path=ColumnName}" />
- コード上で、データコンテキストを設定し、データソースをそのコンテキストに割り当てます。これは、ウィンドウまたはコントロールのDataContextプロパティを設定することにより実現できます。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = GetData();
}
private DataTable GetData()
{
// 从数据库获取数据
DataTable dt = new DataTable();
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "SELECT * FROM TableName";
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
}
}
return dt;
}
}
- アプリケーションを実行すると、画面の要素にデータベースからのデータが格納されます。データソースが変更された場合、画面の要素もそれに応じて更新されます。
上記はWPFでデータベースにバインドする一般的な方法ですが、他にもニーズに応じてObservableCollectionを用いた動的データバインディングなど、さまざまな方法を選択できます。