| | |
| | | using System; |
| | | using System.Collections.ObjectModel; |
| | | using System.ComponentModel; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Windows.Controls; |
| | | using WPFProject.Models; |
| | | |
| | | namespace WPFProject.UI.Test |
| | | { |
| | | /// <summary> |
| | | /// ProgramList.xaml 的交互逻辑 |
| | | /// </summary> |
| | | public partial class ProgramList : UserControl, INotifyPropertyChanged |
| | | { |
| | | public virtual event PropertyChangedEventHandler PropertyChanged; |
| | | |
| | | protected virtual void RaisePropertyChanged(string name) |
| | | { |
| | | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); |
| | | } |
| | | |
| | | protected void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null) |
| | | { |
| | | old = @new; |
| | | if (propertyName != null) |
| | | { |
| | | RaisePropertyChanged(propertyName); |
| | | } |
| | | } |
| | | |
| | | |
| | | private ObservableCollection<Program> _Programs = new ObservableCollection<Program> { |
| | | |
| | | new Program{ Name="123", |
| | | Sequences = new ObservableCollection<Sequence> |
| | | { |
| | | new Sequence{ |
| | | Name="S123" |
| | | }, |
| | | new Sequence |
| | | { |
| | | Name="S223" |
| | | } |
| | | } |
| | | }, |
| | | new Program{ Name="223", |
| | | |
| | | Sequences = new ObservableCollection<Sequence> |
| | | { |
| | | new Sequence{ |
| | | Name="D123" |
| | | }, |
| | | new Sequence |
| | | { |
| | | Name="D223" |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | public ObservableCollection<Program> Programs |
| | | { |
| | | get { return _Programs; } |
| | | set => RaiseAndSetIfChanged(ref _Programs, value); |
| | | } |
| | | |
| | | public ProgramList() |
| | | { |
| | | DataContext = this; |
| | | InitializeComponent(); |
| | | } |
| | | |
| | | public event EventHandler<Program> ProgramChanged; |
| | | |
| | | private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) |
| | | { |
| | | using System;
|
| | | using System.Collections.ObjectModel;
|
| | | using System.ComponentModel;
|
| | | using System.IO;
|
| | | using System.Runtime.CompilerServices;
|
| | | using System.Windows.Controls;
|
| | | using System.Xml.Serialization;
|
| | | using WPFProject.Models;
|
| | | using WPFProject.Utils;
|
| | |
|
| | | namespace WPFProject.UI.Test
|
| | | {
|
| | | /// <summary>
|
| | | /// ProgramList.xaml 的交互逻辑
|
| | | /// </summary>
|
| | | public partial class ProgramList : UserControl, INotifyPropertyChanged
|
| | | {
|
| | | public virtual event PropertyChangedEventHandler PropertyChanged;
|
| | |
|
| | | protected virtual void RaisePropertyChanged(string name)
|
| | | {
|
| | | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
| | | }
|
| | |
|
| | | protected void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
|
| | | {
|
| | | old = @new;
|
| | | if (propertyName != null)
|
| | | {
|
| | | RaisePropertyChanged(propertyName);
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | private ObservableCollection<Program> _Programs = new ObservableCollection<Program> {
|
| | |
|
| | | new Program{ Name="123",
|
| | | Sequences = new ObservableCollection<Sequence>
|
| | | {
|
| | | new Sequence{ |
| | | Name="S123"
|
| | | },
|
| | | new Sequence
|
| | | {
|
| | | Name="S223"
|
| | | }
|
| | | }
|
| | | },
|
| | | new Program{ Name="223",
|
| | |
|
| | | Sequences = new ObservableCollection<Sequence>
|
| | | {
|
| | | new Sequence{
|
| | | Name="D123"
|
| | | },
|
| | | new Sequence
|
| | | {
|
| | | Name="D223"
|
| | | }
|
| | | }
|
| | | }
|
| | | };
|
| | | public ObservableCollection<Program> Programs
|
| | | {
|
| | | get { return _Programs; }
|
| | | set => RaiseAndSetIfChanged(ref _Programs, value);
|
| | | }
|
| | |
|
| | | public ProgramList()
|
| | | {
|
| | | DataContext = this;
|
| | | InitializeComponent();
|
| | | }
|
| | |
|
| | | public event EventHandler<Program> ProgramChanged;
|
| | |
|
| | | private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
| | | {
|
| | | ttt();
|
| | | if (e.AddedItems.Count > 0)
|
| | | { |
| | | ProgramChanged?.Invoke(this, e.AddedItems[0] as Program); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | {
|
| | | ProgramChanged?.Invoke(this, e.AddedItems[0] as Program);
|
| | | }
|
| | | }
|
| | |
|
| | | public void ttt()
|
| | | {
|
| | | string path = "X:\\vs\\WPFProject\\test.xml";
|
| | | XmlUtil.SerialToFile(Programs, path);
|
| | | }
|
| | | }
|
| | | }
|