Пример #1
0
        // FIXME: learn new way
        // https://stackoverflow.com/questions/20099743/how-do-i-get-design-time-view-of-a-view-model-first-approach-with-ioc
        // This make design view but get wrong in Real mode
        //public GameViewModel() : this(new DesignGameDataService()) { }
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public GameViewModel(IGameDataService dataService)
        {
            log.Info("Initialize");
            TextTemplateConfig = TextTemplateType.OutLineKanaBottom;

            _dataService          = dataService;
            DisplayTextCollection = _dataService.InitTextData(TextTemplateConfig);

            if (IsInDesignMode)
            {
                // Code runs in Blend --> create design time data.
                CardInfo = new WordCardInfo()
                {
                    Word      = "買う",
                    Ruby      = "かう",
                    IsProcess = false,
                    Hinshi    = "動詞",
                    Kaisetsu  = new ObservableCollection <string>()
                    {
                        "1. 多,多数,许多。(たくさん。多くのもの。)",
                        "2. 多半,大都。(ふつう。一般に。たいてい。)"
                    }
                };

                MainHeight = 800;
                MainWidth  = 600;
            }
            else
            {
                // Code runs "for real"
                CardInfo          = new WordCardInfo();
                _mecabHelper      = new MecabHelper();
                _mojiHelper       = new MojiDictApi();
                _baiduHelper      = new BaiduWebTranslator();
                WordSearchCommand = new RelayCommand <SingleTextItem>(WordSearch, CanWordSearch);
                PopupCloseCommand = new RelayCommand(() => Messenger.Default.Send(new NotificationMessage("CloseCard")));
                PinCommand        = new RelayCommand(() => TextPanelPin = !TextPanelPin);
                TranslateCommand  = new RelayCommand(FakeDoTranslate);
                TranslateTextList = new ObservableCollection <string>();

                Textractor.SelectedDataEvent += SelectedDataEventHandler;
            }
        }
Пример #2
0
        public ObservableCollection <SingleTextItem> InitTextData(TextTemplateType type)
        {
            var DisplayTextCollection = new ObservableCollection <SingleTextItem>();

            // 悠真(ユウマ)くんを攻略(コウリャク)すれば210円(エン)か。なるほどなぁ…
            #region Render Design Model
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "ユウマ",
                Text             = "悠真",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "くん",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "を",
                TextTemplateType = type,
                PartOfSpeed      = "助詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "コウリャク",
                Text             = "攻略",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "すれ",
                TextTemplateType = type,
                PartOfSpeed      = "動詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "ば",
                TextTemplateType = type,
                PartOfSpeed      = "助詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "2",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "1",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "0",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "エン",
                Text             = "円",
                TextTemplateType = type,
                PartOfSpeed      = "名詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "か",
                TextTemplateType = type,
                PartOfSpeed      = "助詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "。",
                TextTemplateType = type,
                PartOfSpeed      = "記号"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "なるほど",
                TextTemplateType = type,
                PartOfSpeed      = "感動詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "なぁ",
                TextTemplateType = type,
                PartOfSpeed      = "助詞"
            });
            DisplayTextCollection.Add(new SingleTextItem
            {
                RubyText         = "",
                Text             = "…",
                TextTemplateType = type,
                PartOfSpeed      = "記号"
            });
            #endregion

            return(DisplayTextCollection);
        }
 public ObservableCollection <SingleTextItem> InitTextData(TextTemplateType templateType)
 {
     return(new ObservableCollection <SingleTextItem>());
 }