در این پست از وبسایت پرووید، در رابطه با ده برتری WPF به Win Forms – قسمت ششم صحبت خواهیم کرد. به ادامه ی مطلب بروید.

ده برتری WPF به Win Forms – قسمت ششم

به عنوان ششمین برتری از مجموعه برتری های WPF نسبت به Windows Form Application ها باید به قابلیت Data Binding در WPF اشاره کنیم. Data Binding یکی از ویژگی های بسیار جالب WPF است که در بسته ی آموزش ویدئویی WPF و همچنین بسته ی آموزش سیلورلایت به آن اشاره کرده ایم.

بسته ی آموزش ویدئویی مباحث پیشرفته در WPF

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی مباحث پیشرفته در WPF دیدن کنید.

با استفاده از Data Binding کارهای بسیار جالب و زیادی را می توان انجام داد. یکی از این کارها پیاده سازی الگوی MVVM است. نشان دادن داده ها در دیتاگرید نیز با استفاده از Data Binding بسیار ساده است:

Binding Data to a DataGrid in WPF

تنها کاری که لازم است انجام دهید تنظیم کردن DataContext مربوط به DataGrid است. به کد زیر دقت کنید:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
// create a connection to Top Trumps database
String cs = ConfigurationManager.ConnectionStrings["csMovies"].ConnectionString;
SqlConnection cn = new SqlConnection(cs);

try
{
// create a new dataset
DataSet ds = new DataSet();

// open the connection (not strictly necessary, as the
// data adapter will do this when you use it anyway)
cn.Open();

// fill data tables
SqlDataAdapter daMoviess = new SqlDataAdapter();
daMoviess.SelectCommand =
new SqlCommand("SELECT * FROM tblMovies WHERE PackId=1", cn);
daMoviess.Fill(ds, "Movies");

// now set the data context for the entire window
this.DataContext = ds;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{

// close the connection whether went wrong or not
cn.Close();
}
}

پس از آن با استفاده از پروتپرتی ItemsSource مربوط به DataGrid داده ها را نشان می دهید. به کد XAML زیر دقت کنید:

Binding Data to a DataGrid in WPF2

Data Binding دو طرفه

با استفاده از Data Binding دو طرفه می توانید به راحتی به رویدادهای دیتاگرید واکنش نشان دهید. برای مثال، کد زیر با دابل کلیک کردن روی یکی از آیتم های دیتاگرید اجرا می شود و آن آیتم کلیک شده را بر می گرداند:

private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)

{
// find out the row clicked on
DataRowView dr = dg.SelectedItem as DataRowView;

// get the field values for this row
string FilmName = (int)dr["FilmName"];
int FilmOscarWins = (int)dr["FilmOscarWins"];

// display choice made
MessageBox.Show(FilmName + ' ' + FilmOscarWins.ToString());
}

امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. از شما دعوت می‌کنیم که از دیگر آموزش های ما در رابطه با WPF استفاده کنید. لیست کامل این آموزش ها را می توانید در پست مربوط به آموزش ده برتری WPF به Windows Forms Application مشاهده کنید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *