Esempio n. 1
0
 public MessageStateMachine(IMusicTrackDatabase musicDatabase)
 {
     this.messageRegister   = new MessageRegister();
     this.messageBuilder    = new MessageBuilder(musicDatabase);
     this.messageHistory    = new MessageHistory();
     this.statisticsManager = new StatisticsManager();
 }
Esempio n. 2
0
        public static void RegisterViewModel(FrameworkElement view, ViewModelBase viewmodel, IMessageRegister msgRegister = null)
        {
            if (view == null || viewmodel == null)
            {
                return;
            }
            //设定数据环境
            view.DataContext = viewmodel;
            //设置ViewModel的Dispatcher
            viewmodel.UIDispatcher = view.Dispatcher;

            //无需注册消息则直接返回
            if (msgRegister == null)
            {
                return;
            }
            if (msgRegister.RegInstance == null)
            {
                msgRegister.RegInstance = view;
            }

            viewmodel.MsgManager = msgRegister.MsgManager;

            var win = view as Window;

            if (win != null)
            {
                win.Closed += msgRegister.MsgManager.WindowClose;
            }
            //注册消息
            msgRegister.Register();
        }
Esempio n. 3
0
 internal void SetMessageRegister(IMessageRegister messageRegister)
 {
     this.messageRegister = messageRegister;
 }
 public static void Register(IMessageRegister register)
 {
     register.RegisterMessage <ClassA, ClassA>(1);
     register.RegisterMessage <ClassA>(2);
 }