using System.Collections.Generic;
|
using System.Collections.ObjectModel;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Controls;
|
|
namespace PdmSwPlugin.UI
|
{
|
/// <summary>
|
/// SB.xaml 的交互逻辑
|
/// </summary>
|
public partial class SB : UserControl, INotifyPropertyChanged
|
{
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
protected void RaisePropertyChanged(string propertyName)
|
{
|
if (PropertyChanged != null)
|
{
|
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
}
|
}
|
|
public SB()
|
{
|
InitializeComponent();
|
}
|
|
private string _selectedText = string.Empty;
|
|
public string SelectedText
|
{
|
get
|
{
|
return _selectedText;
|
}
|
set
|
{
|
if (_selectedText != value)
|
{
|
_selectedText = value;
|
RaisePropertyChanged("SelectedText");
|
}
|
}
|
}
|
|
private ObservableCollection<INotifyPropertyChanged> _dataSource;
|
|
public ObservableCollection<INotifyPropertyChanged> DataSource
|
{
|
get
|
{
|
if (_dataSource == null)
|
{
|
_dataSource = new ObservableCollection<INotifyPropertyChanged>();
|
|
_dataSource.CollectionChanged += (sender, e) =>
|
{
|
if (e.OldItems != null)
|
{
|
foreach (INotifyPropertyChanged bookEx in e.OldItems)
|
{
|
bookEx.PropertyChanged -= ItemPropertyChanged;
|
}
|
}
|
|
if (e.NewItems != null)
|
{
|
foreach (INotifyPropertyChanged bookEx in e.NewItems)
|
{
|
bookEx.PropertyChanged += ItemPropertyChanged;
|
}
|
}
|
};
|
}
|
|
return _dataSource;
|
}
|
}
|
|
private void ItemPropertyChanged(object sender, PropertyChangedEventArgs e)
|
{
|
/*if (e.PropertyName == "IsChecked")
|
{
|
BookEx bookEx = sender as BookEx;
|
|
if (bookEx != null)
|
{
|
IEnumerable<BookEx> bookExs = BookExs.Where(b => b.IsChecked == true);
|
|
StringBuilder builder = new StringBuilder();
|
|
foreach (BookEx item in bookExs)
|
{
|
builder.Append(item.Book.Name + " ");
|
}
|
|
SelectedText = builder == null ? string.Empty : builder.ToString();
|
}
|
}*/
|
}
|
}
|
}
|