Beispiel #1
0
        public GroupUserControl()
        {
            InitializeComponent();

            var changeSet = GenerateChangeSet();

            Combobox1.SelectAddChanges().StartWith(new[] { Combobox1.SelectedItem } as IList).Subscribe(a =>
            {
                var @switch = a.Cast <ComboBoxItem>().First().Content.ToString() switch
                {
                    "A" => new GroupMasterViewModel <Stock, string, string>(changeSet, g => g.Sector).Collection,
                    "B" => new GroupMasterViewModel2(changeSet.Group(g => g.Name.Length.ToString())).Collection,
                    _ => (IEnumerable)CollectStocks(changeSet)
                };

                ListBox1.ItemsSource = @switch;
            });

            //var stocks = Finance.Stocks.Select(a => new StockPropertyChanged { Sector = a.Sector, Name = a.Name, Key = a.Key });

            var sad = GenerateChangeSet2().RefCount();

            _ = sad.Subscribe(a => { }, () =>
            {
                this.Dispatcher.Invoke(() => CompletedLabel.Content = "Observer OnCompleted method called - unable to modify grouping list hence");
            });

            ListBox2.ItemsSource = new GroupMasterPropertyChangedViewModel <StockPropertyChanged, string, string>(sad, g => g.GroupProperty).Collection;

            ListBox3.ItemsSource = new GroupMasterPropertyChangedViewModel <StockPropertyChanged, string, string>(GenerateChangeSet4(), g => g.GroupProperty).Collection;

            Emoticon_ToggleButton.Checked   += (a, b) => subject.OnNext(Emoticon_ToggleButton.IsChecked.Value);
            Emoticon_ToggleButton.Unchecked += (a, b) => subject.OnNext(Emoticon_ToggleButton.IsChecked.Value);
Beispiel #2
0
        public GroupUserControl()
        {
            InitializeComponent();

            var groupUserControlViewModel = new GroupUserControlViewModel();

            Combobox1.ItemsSource = groupUserControlViewModel.Types;

            _ = Combobox1
                .SelectSelectionAddChanges()
                .Select(a => a.First().ToString())
                .Subscribe(a =>
            {
                groupUserControlViewModel.OnNext(a);
            });

            _ = ComboBox
                .SelectSelectionAddChanges()
                .Select(a => a.Cast <ClassProperty>().First())
                .Subscribe(a =>
            {
                subject.OnNext(a);
            });

            groupUserControlViewModel.WhenAnyValue(a => a.Collection)
            .BindTo(this, a => a.ListBox1.ItemsSource);

            var group2UserControlViewModel = new Group2UserControlViewModel(subject);

            group2UserControlViewModel.WhenAnyValue(a => a.ErrorMessage)
            .ObserveOnDispatcher()
            .Subscribe(a => CompletedLabel.Content = a);

            ListBox2.ItemsSource = group2UserControlViewModel.Collection;

            var group3UserControlViewModel = StockObservableFactory.GenerateUnlimitedGroupableChangeSet(subject).ToGroupOnViewModel();

            ListBox3.ItemsSource = group3UserControlViewModel.Collection;
            ComboBox.ItemsSource = group3UserControlViewModel.Properties;
        }