80 lines
1.8 KiB
C#
80 lines
1.8 KiB
C#
using System.ComponentModel;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Xml.Serialization;
|
|
|
|
namespace MyApp
|
|
{
|
|
public class Media : INotifyPropertyChanged
|
|
{
|
|
public string Name
|
|
{
|
|
get { return name; }
|
|
set
|
|
{
|
|
name = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
string name = "";
|
|
|
|
public string IconSource
|
|
{
|
|
get { return iconSource; }
|
|
set
|
|
{
|
|
iconSource = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
string iconSource = "";
|
|
|
|
public string FilePath
|
|
{
|
|
get { return filePath; }
|
|
set
|
|
{
|
|
filePath = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
string filePath = "";
|
|
|
|
[XmlIgnore]
|
|
public bool IsPlaying
|
|
{
|
|
get { return isPlaying; }
|
|
set
|
|
{
|
|
isPlaying = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
bool isPlaying = false;
|
|
|
|
public string Genra
|
|
{
|
|
get { return genra; }
|
|
set
|
|
{
|
|
genra = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
string genra = "";
|
|
|
|
public Media(string name, string filePath)
|
|
{
|
|
this.name = name;
|
|
this.filePath = filePath;
|
|
iconSource = "pack://application:,,,/assets/video_icon.png";
|
|
}
|
|
public Media() { }
|
|
|
|
public event PropertyChangedEventHandler? PropertyChanged;
|
|
protected void OnPropertyChanged([CallerMemberName] string? name = null)
|
|
{
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
}
|
|
}
|
|
}
|