Beispiel #1
0
        public PrinterSelectorDialogViewModel()
        {
            printingProvider = Main.PrintingProvider;
            PrinterSelector  = printingProvider.PrinterSelector;

            SelectedPrinterIndex = PrinterSelector.ObserveProperty(p => p.SelectedPrinter)
                                   .Select(x => PrinterSelector.Printers.IndexOf(x)).ToReactiveProperty();

            PaperSizes        = PrintingProvider.PaperSizes;
            PaperOrientations = PrintingProvider.PaperOrientations;

            PaperSizeIndex = printingProvider.ObserveProperty(p => p.PaperSize)
                             .Select(x => PrintingProvider.PaperSizes.IndexOf(x)).ToReactiveProperty();
            PaperOrientationIndex = printingProvider.ObserveProperty(p => p.PaperOrientation)
                                    .Select(x => PrintingProvider.PaperOrientations.IndexOf(x)).ToReactiveProperty();

            PaperSizeIndex.ObserveProperty(x => x.Value)
            .Subscribe(i => printingProvider.PaperSize = PrintingProvider.PaperSizes[i]);
            PaperOrientationIndex.ObserveProperty(x => x.Value).Subscribe(i =>
                                                                          printingProvider.PaperOrientation = PrintingProvider.PaperOrientations[i]);

            PrintCommand = new ReactiveCommand();
            PrintCommand.Subscribe(Print);

            CancelCommand = new ReactiveCommand();
            CancelCommand.Subscribe(() => IsShowDialog = false);

            ShowDialogCommand = new ReactiveCommand();
            ShowDialogCommand.Subscribe(() => IsShowDialog = true);
        }
Beispiel #2
0
        /// <summary>
        ///     コンストラクタ
        /// </summary>
        public TttMain()
        {
            main = new Main();

            DocumentName = Properties.Settings.Default.DefaultDocumentName;

            using (var textReader = new TextReader(settingsJson))
            {
                Settings = JsonConvert.DeserializeObject <TttSettings>(textReader.Read());
            }

            About         = new About();
            ThemeSelector = new ThemeSelector(Settings);

            PrintingProvider = new PrintingProvider();
        }