View Full Version : تفاوت Data Binding در ویندوز فرم و wpf
negar.rafie
سه شنبه 11 آبان 1395, 17:30 عصر
سلام
بنده در ویندوز فرم میتونم به صورت دیتاباندیگ کار کنم و از bindingsource استفاده میکنم
ولی در wpf جواب نمیده
فرقش چیه؟
در wpf باید چگونه استفاده کنیم
ی تاپیک هم زدم:
http://barnamenevis.org/showthread.php?531892-%D8%A8%D8%B1%D9%88%D8%B2-%D8%B1%D8%B3%D8%A7%D9%86%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%DA%AF%D8%B1%DB%8C%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B9%D9%85%D8%A7%D9%84-%D8%AD%D8%B0%D9%81%D8%8C%D8%AF%D8%B1%D8%AC-%D9%88-%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4
mrprestige
سه شنبه 11 آبان 1395, 21:13 عصر
عرض سلام و وقت بخیر ، سرکار خانم negar.rafie (http://barnamenevis.org/member.php?237705-negar-rafie) شما برای اینکه بتونید معادل Databinding موجود در Winform رو در WPF استفاده کنید باید از عبارت Binding در کد های Xaml تون استفاده کنید . با یه مثال ساده عرض میکنم اول شما یک کلاس ایجاد کنید به نام Person ایجاد کنید و دوتا Property نام و نام خانوادگی براش set کنید به این صورت
public class Person
{
public string Fname { get; set; }
public string Lname { get; set; }
}
سپس دوتا Textbox روی فرم قرار بدید (پیشنهاد میکنم با کدنویسی این کار رو بکنید منظورم اینه از Toolbox انتخاب نکنید) و بعد از اینکه صفحه فرم رو تقسیم بندی کردید کدهای Xaml مربوطه رو به این صورت بنویسید
<TextBox Text="{Binding Fname}" x:name="txtFname" Margin="20" Grid.Row="1"></TextBox>
<TextBox Text="{Binding Lname}" x:name="txtLname" Margin="20" Grid.Row="2"></TextBox>
و یک کنترل Button هم ایجاد کنید در خاصیت Click اون این رو بنویسید
var prsn = new List<Person>();
var p = new Person {Fname ="MR", Lname = "Prestige"};
prsn.Add(p);
txtFname.Datacontext=prsn;
txtLname.Datacontext=prsn;
حالا برنامه رو اجرا کنید روی Button کلیک کنید میبینید که پراپرتی Fname به txtFname و پراپرتی Lname به txtLname بایند شده .
پیروز و موفق باشید .
ژیار رحیمی
چهارشنبه 12 آبان 1395, 02:12 صبح
در واقع تفاوت های زیادی بین WPF DataBinding و WinForm DataBinding وجود دارد.
1-فعال کردن اعلان بایندینگ
WinForm: INotifyPropertyChanged; collection: IBindingList.
WPF: INotifyPropertyChanged; collection: INotifyCollectionChanged.
2.واسط بایندینگ:
WinForm: BindingSource.
WPF: CollectionView
3. پراپرتی های معمول کنترل که برای بایند کردن به دیتا سورس استفاده میشود
WinForm: DataSource;
WPF: ItemsSource;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.