您好,登錄后才能下訂單哦!
今天小編給大家分享一下C# WPF數據綁定模板化操作的方法是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
public class NotifyPropertyObject : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void RaisePropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } } private MainWindowVM vm = new MainWindowVM(); //重點 public MainWindow() { InitializeComponent(); this.DataContext = vm;//重點 }
第二步:為每一個界面建立其模型類,如MainWindowVM,AzimuthWindowVM........,此種類型的類同樣需繼承自類NotifyPropertyObject
注意:(1)此類中主要添加后臺的實現代碼,其一是使后臺代碼盡可能簡單;其二是便于數據的綁定
(2)此類中大多數情況下寫的是屬性和方法
示例:
public class MainWindowVM : NotifyPropertyObject { private double _dmsL0; //中央子午線經度 public double dmsL0 { get { return _dmsL0; } set { _dmsL0 = value; RaisePropertyChanged("dmsL0"); } } } public class AzimuthWindowVM : NotifyPropertyObject { private string azName = "A001->B004的坐標方位角"; public string AzName { get { return azName; } set { azName = value; RaisePropertyChanged("AzName"); } } }
第三步:如果類中存在與界面相關的量,則讓該類繼承類NotifyPropertyObject,并在派生類中在屬性中的Set代碼塊中進行綁定
public class Ellipsoid : NotifyPropertyObject { private double _a; //長半軸 public double a { get => _a; set { _a = value; if (_a > 0 && _f > 0) { Init(a, f); } RaisePropertyChanged("a"); } } }
第四步:在界面設計代碼中進行綁定
示例:
1、<TextBox Grid.Column="2" VerticalAlignment="Center" Text="{Binding CurrentEllipsoid.a}" IsEnabled="{Binding CurrentEllipsoid.IsCustomEllopsoid}"/> 2、<ComboBox VerticalAlignment="Center" ItemsSource="{Binding EllipsoidList}" SelectedItem="{Binding CurrentEllipsoid}"/> 3、Title="{Binding Title}" 注意:標題也可綁定
以上就是“C# WPF數據綁定模板化操作的方法是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。