[英]WPF bind controls to static object[] array data (.NET 4.5)
我有一個靜態的object []數組(500多個項目),每秒更改一次,還有許多控件需要顯示此數組中包含的數據。 我需要此數組為靜態數組,因為它在許多其他類中使用。
是否可以在.NET 4.5中實現這種綁定? 我正在嘗試下面的代碼,但未成功(基於http://www.jonathanantoine.com/2011/09/28/wpf-4-5-%E2%80%93-part-9-binding-to-static -properties / )。 我在編譯時收到“ Playback.Control”未實現接口成員“ System.ComponentModel.INotifyPropertyChanged.PropertyChanged”的錯誤
public class Control : INotifyPropertyChanged
{
public static event EventHandler<PropertyChangedEventArgs> StaticPropertyChanged;
public static void RaiseChangeEvent(string propName)
{
EventHandler<PropertyChangedEventArgs> handler = StaticPropertyChanged;
if (handler != null)
handler(null, new PropertyChangedEventArgs(propName));
}
private static int _playposition;
public static int PlayPosition { get { return _playposition; } set { if (_playposition == value) return; _playposition = value; RaiseChangeEvent("PlayPosition"); } }
public static DataTable JobData { get; private set; }
private static Object[] _currentdata;
public static Object[] CurrentData { get { return _currentdata; } set { if (_currentdata == value) return; _currentdata = value; RaiseChangeEvent("CurrentData"); } }
private static Object[] _previousdata;
public static Object[] PreviousData { get { return _previousdata; } set { if (_previousdata == value) return; _previousdata = value; RaiseChangeEvent("PreviousData"); } }
}
您鏈接到的文章有點混亂,我懷疑您混淆了兩種方法。 查看作者的保管箱項目,似乎有兩種方法-一種實現INotifyPropertyChanged的類,另一種不實現 (Repository.cs)。 后者使用了我認為您嘗試使用的StaticPropertyChanged事件方法。 我猜您只需要更改您的代碼即可不實現INotifyPropertyChanged,但請確保檢查作者的保管箱代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.