public ExportCompletedViewModel(string title, FileInfo file)
 {
     Title             = title;
     File              = file;
     OpenFileCommand   = ReactiveCommand.Create(this.WhenAnyValue(me => me.File).Select(f => f?.Exists == true));
     OpenFolderCommand = ReactiveCommand.Create(this.WhenAnyValue(me => me.File).Select(f => f?.Directory?.Exists == true));
     OpenFileCommand.Subscribe(_ => Process.Start(File.FullName));
     OpenFolderCommand.Subscribe(_ => Process.Start(File.DirectoryName));
     Result = CloseCommand.Select(_ => (bool?)true);
 }
Esempio n. 2
0
        public MainWindowViewModel()
        {
            Items = new List <TestItem>();

            for (int i = 0; i < 10; ++i)
            {
                Items.Add(new TestItem($"Item {i}", $"Item {i} Value"));
            }

            Nodes = new List <TestNode>
            {
                new TestNode
                {
                    Header     = "Root",
                    SubHeader  = "Root Item",
                    IsExpanded = true,
                    Children   = new[]
                    {
                        new TestNode
                        {
                            Header    = "Child 1",
                            SubHeader = "Child 1 Value",
                        },
                        new TestNode
                        {
                            Header     = "Child 2",
                            SubHeader  = "Child 2 Value",
                            IsExpanded = false,
                            Children   = new[]
                            {
                                new TestNode
                                {
                                    Header    = "Grandchild",
                                    SubHeader = "Grandchild Value",
                                },
                                new TestNode
                                {
                                    Header    = "Grandmaster Flash",
                                    SubHeader = "White Lines",
                                },
                            }
                        },
                    }
                }
            };



            CollapseNodesCommand = ReactiveCommand.Create();
            CollapseNodesCommand.Subscribe(_ => ExpandNodes(false));
            ExpandNodesCommand = ReactiveCommand.Create();
            ExpandNodesCommand.Subscribe(_ => ExpandNodes(true));

            OpenFileCommand = ReactiveCommand.Create();
            OpenFileCommand.Subscribe(_ =>
            {
                var ofd = new OpenFileDialog();

                ofd.ShowAsync();
            });

            OpenFolderCommand = ReactiveCommand.Create();
            OpenFolderCommand.Subscribe(_ =>
            {
                var ofd = new OpenFolderDialog();

                ofd.ShowAsync();
            });

            shell = ShellViewModel.Instance;
        }