using Plugin.TestResult_WPF.Model;
|
using System.Collections.ObjectModel;
|
using System.ComponentModel;
|
using System.Runtime.CompilerServices;
|
using System.Windows;
|
|
namespace Plugin.TestResult_WPF
|
{
|
/// <summary>
|
/// InfoWindow.xaml 的交互逻辑
|
/// </summary>
|
public partial class InfoWindow : Window, INotifyPropertyChanged
|
{
|
|
#region ...
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
public virtual void RaisePropertyChanged(string name)
|
{
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
}
|
|
public void RaiseAndSetIfchanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
|
{
|
old = @new;
|
if (propertyName != null) RaisePropertyChanged(propertyName);
|
}
|
#endregion
|
|
private string _title;
|
public string title
|
{
|
get => _title;
|
set => RaiseAndSetIfchanged(ref _title, value);
|
}
|
|
private ObservableCollection<Info> _dataSource;
|
|
public ObservableCollection<Info> dataSource
|
{
|
get => _dataSource == null ? new ObservableCollection<Info>() : _dataSource;
|
set => RaiseAndSetIfchanged(ref _dataSource, value);
|
}
|
|
public InfoWindow(string title, ObservableCollection<Info> infos)
|
{
|
this.title = title;
|
this.dataSource = infos;
|
this.DataContext = this;
|
InitializeComponent();
|
}
|
|
public void UpdateSource(ObservableCollection<Info> infos)
|
{
|
this.dataSource = infos;
|
}
|
}
|
}
|