Ejemplo n.º 1
0
 private void 默认音量修改事件(object sender, System.Windows.Input.MouseEventArgs e)
 {
     默认音量值显示.Content = (int)修改默认音量.Value;
     MMPU.默认音量       = (int)修改默认音量.Value;
     MMPU.修改默认音量设置(MMPU.默认音量);
 }
Ejemplo n.º 2
0
        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(更新直播间文字命令);
        }