using Demo.Common.Helpers; using Prism.Mvvm; using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace Demo.Common.Models { public class User : BindableBase { private long id; public long Id { get { return id; } set { SetProperty(ref id, value); } } private string userName; public string UserName { get { return userName; } set { SetProperty(ref userName, value); } } ///// ///// 用户头像 ///// //public Bitmap Avatar => AvatatHelper.GetNickNameImage(userName); private bool isManager; public bool IsManager { get { return isManager; } set { SetProperty(ref isManager, value); } } private bool isLocal; public bool IsLocal { get { return isLocal; } set { SetProperty(ref isLocal, value); } } private bool isMuteAudio; public bool IsMuteAudio { get { return isMuteAudio; } set { SetProperty(ref isMuteAudio, value); RaisePropertyChanged(nameof(MicoSlashLineVisibility)); RaisePropertyChanged(nameof(MicStatusText)); if (value) { // 静音,音量置为0 MicoVolume = 0; } } } private bool isMuteVideo; public bool IsMuteVideo { get { return isMuteVideo; } set { SetProperty(ref isMuteVideo, value); RaisePropertyChanged(nameof(VideoSlashLineVisibility)); RaisePropertyChanged(nameof(VideoStatusText)); } } /// /// 麦克风音量 /// private uint micoVolume; public uint MicoVolume { get { return micoVolume; } set { SetProperty(ref micoVolume, value); } } // 用于控制斜线显示的属性 public Visibility MicoSlashLineVisibility => (IsMuteAudio ? Visibility.Visible : Visibility.Collapsed); // 用于控制斜线显示的属性 public Visibility VideoSlashLineVisibility => (IsMuteVideo ? Visibility.Visible : Visibility.Collapsed); //用于控制麦克风文本显示的属性 public string MicStatusText => (IsMuteAudio ? "解除静音" : "静音"); //用于控制摄像头文本显示的属性 public string VideoStatusText => (IsMuteVideo ? "开启视频" : "停止视频"); public static User GetInit() { return new User { Id = 0, UserName = "待初始化" }; } //void IDisposable.Dispose() //{ // if (Avatar != null) // { // Avatar.Dispose(); // } //} } }