private void 默认音量修改事件(object sender, System.Windows.Input.MouseEventArgs e) { 默认音量值显示.Content = (int)修改默认音量.Value; MMPU.默认音量 = (int)修改默认音量.Value; MMPU.修改默认音量设置(MMPU.默认音量); }
public MainViewModel() { _当前状态 = this .WhenAnyValue(x => x.直播中数量) .Select(num => { if (num == -1) { return("单推列表正在更新中....."); } if (num == 0) { return("监控列表中没有直播中的单推对象"); } return("在监控列表中有" + num + "个单推对象正在直播"); }) .ToProperty(this, x => x.当前状态); _数据源服务器延迟文本 = this .WhenAnyValue(x => x.数据源服务器延迟) .Select(delay => { if (delay == -1.0) { return("数据源服务器(vtbs)延迟: 未测试"); } if (delay == -2.0) { return("数据源服务器(vtbs)延迟: 连接超时"); } return("数据源服务器(vtbs)延迟: " + delay + "ms"); }) .ToProperty(this, x => x.数据源服务器延迟文本); _国内服务器延迟文本 = this .WhenAnyValue(x => x.国内服务器延迟) .Select(delay => { if (delay == -1.0) { return("国内服务器延迟(阿B): 未测试"); } if (delay == -2.0) { return("国内服务器延迟(阿B): 连接超时"); } return("国内服务器延迟(阿B): " + delay + "ms"); }) .ToProperty(this, x => x.国内服务器延迟文本); _国外服务器延迟文本 = this .WhenAnyValue(x => x.国外服务器延迟) .Select(delay => { if (delay == -1.0) { return("国外服务器延迟(404): 未测试"); } if (delay == -2.0) { return("国外服务器延迟(404): 连接超时"); } return("国外服务器延迟(404): " + delay + "ms"); }) .ToProperty(this, x => x.国外服务器延迟文本); _数据更新时间文本 = this .WhenAnyValue(x => x.数据更新时间) .Select(time => { if (time == null) { return("数据更新时间: 单推列表正在更新中....."); } return("数据更新时间: " + time.ToString("yyyy-MM-dd HH:mm:ss")); }) .ToProperty(this, x => x.数据更新时间文本); 更新默认音量命令 = ReactiveCommand.Create <int, Unit>(新音量 => { MMPU.默认音量 = 新音量; MMPU.修改默认音量设置(MMPU.默认音量); return(Unit.Default); }); this.WhenAnyValue(x => x.默认音量) .Throttle(TimeSpan.FromMilliseconds(500)) // 每500ms更新一次MMPU数值 .InvokeCommand(更新默认音量命令); 切换界面命令 = ReactiveCommand.Create <string, Unit>(要切换的层对应的字符串 => { foreach (string 层对应的字符串 in 所有层.Keys) { if (层对应的字符串 == 要切换的层对应的字符串) { if (层对应的字符串 != "home") { 所有层["top层"].Visibility = Visibility.Visible; } 所有层[层对应的字符串].Visibility = Visibility.Visible; } else { 所有层[层对应的字符串].Visibility = Visibility.Collapsed; } } return(Unit.Default); }); _选中内容文本 = this .WhenAnyValue(x => x.当前选中直播间) .Select(当前选中直播间 => { if (当前选中直播间 == null) { return(""); } return(当前选中直播间.平台 + "\n" + 当前选中直播间.唯一码 + "\n" + 当前选中直播间.称); }) .ToProperty(this, x => x.中内容文本); 更新直播间文字命令 = ReactiveCommand.Create <直播间文字, Unit>(新规格 => { if (新规格 != null) { 新规格.保存至配置文件(); } return(Unit.Default); }); this.WhenAnyValue(x => x.默认弹幕) .Throttle(TimeSpan.FromMilliseconds(500)) // 每500ms更新一次MMPU数值 .ObserveOn(RxApp.MainThreadScheduler) .InvokeCommand(更新直播间文字命令); this.WhenAnyValue(x => x.默认字幕) .Throttle(TimeSpan.FromMilliseconds(500)) // 每500ms更新一次MMPU数值 .ObserveOn(RxApp.MainThreadScheduler) .InvokeCommand(更新直播间文字命令); }