// 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; } }
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>()); }