当前位置: 首页>>代码示例>>C#>>正文


C# ObservableDictionary.Add方法代码示例

本文整理汇总了C#中ObservableDictionary.Add方法的典型用法代码示例。如果您正苦于以下问题:C# ObservableDictionary.Add方法的具体用法?C# ObservableDictionary.Add怎么用?C# ObservableDictionary.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ObservableDictionary的用法示例。


在下文中一共展示了ObservableDictionary.Add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ShouldBindBetweenIndexedObjects

        public void ShouldBindBetweenIndexedObjects()
        {
            var binder = new Binder<ObservableDictionary<UniversalStub>>();

            var dict= new ObservableDictionary<UniversalStub>();

            binder.BindIf(x => x.ContainsKey("first") && x.ContainsKey("second"), x => x["first"].String).To(x => x["second"].String);

            using (binder.Attach(dict))
            {
                var first = new UniversalStub();
                var second = new UniversalStub { String = "a" };
                dict.Add("second", second);
                second.String.ShouldBe("a");
                using (second.VerifyChangedOnce("String"))
                {
                    dict.Add("first", first);
                }
                second.String.ShouldBe(null);

                using (second.VerifyChangedOnce("String"))
                {
                    first.String = "b";
                }
                second.String.ShouldBe("b");
            }
        }
开发者ID:Chrisophylacks,项目名称:PropertyBinder,代码行数:27,代码来源:IndexerBindingsFixture.cs

示例2: ToDictionary_Unset_Set

 public void ToDictionary_Unset_Set()
 {
     var source = new ObservableDictionary<int, string>();
     var get2 = Nothing<string>();
     source.ToLiveLinq()[2].Subscribe(val => get2 = val);
     get2.Should().Be(Nothing<string>());
     source.Add(2, "Hi there");
     get2.Should().Be(Something("Hi there"));
     source.Remove(2);
     get2.Should().Be(Nothing<string>());
     source.Add(2, "Hello");
     get2.Should().Be(Something("Hello"));
 }
开发者ID:ApocalypticOctopus,项目名称:Apocalyptic.Utilities.Net,代码行数:13,代码来源:DictionaryLiveLinqQueryTests.cs

示例3: AddItem

 public void AddItem()
 {
   _handle = new EventWaitHandle(false, EventResetMode.ManualReset);
   var test = new ObservableDictionary<int, string>();
   test.ItemAdded += Dictionary_ItemEvent;
   test.Add(0, "myValue");
   Assert.IsTrue(_handle.WaitOne(10));
 }
开发者ID:rnpowerconsulting,项目名称:appstract,代码行数:8,代码来源:ObservableDictionaryTests.cs

示例4: MainView

 public MainView()
 {
     channels = new ObservableDictionary<string, ChannelViewModel>();
     channels.Add("#speedrunslive", new ChannelViewModel { Title = "#speedrunslive" });
     channels.Add("#bingo", new ChannelViewModel { Title = "#bingo" });
     pinnedChannels = new ObservableDictionary<string, ChannelViewModel>();
     pinnedChannels.Add("#speedrunslive", new ChannelViewModel { Title = "#speedrunslive" });
     pinnedChannels.Add("#bingo", new ChannelViewModel { Title = "#bingo" });
     messages = new ObservableCollection<Message>();
     var msg = Message.ParseString(":BOB!asdf PART #speedrunslive :how's it going");
     var msg1 = Message.ParseString(":BOB!asdf JOIN #speedrunslive :how's it going");
     var msg2 = Message.ParseString(":BOB!asdf NOTICE #speedrunslive :how's it going");
     var msg3 = Message.ParseString(":BOB!asdf PRIVMSG #bingo :how's it goingkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj");
     MessageAdded(msg);
     MessageAdded(msg1);
     MessageAdded(msg2);
     MessageAdded(msg3);
 }
开发者ID:srmcconomy,项目名称:speedrunsliveIRC,代码行数:18,代码来源:MainView.cs

示例5: ObservableDictionaryAddItemTest

        public void ObservableDictionaryAddItemTest()
        {
            ObservableDictionary<GenericParameterHelper, GenericParameterHelper> target = new ObservableDictionary<GenericParameterHelper, GenericParameterHelper>();
            target.CollectionChanged += delegate(object sender, NotifyCollectionChangedEventArgs e) {
                Assert.AreEqual(NotifyCollectionChangedAction.Add, e.Action);
                Assert.IsNotNull(e.NewItems);
            };

            KeyValuePair<GenericParameterHelper, GenericParameterHelper> item = new KeyValuePair<GenericParameterHelper, GenericParameterHelper>(new GenericParameterHelper(1), new GenericParameterHelper(1));
            target.Add(item);
            Assert.AreEqual(1, target.Count);
        }
开发者ID:EternalPlay,项目名称:ReusableCore,代码行数:12,代码来源:ObservableDictionaryTest.cs

示例6: Run

    private Run(Run original, Cloner cloner)
      : base(original, cloner) {
      color = original.color;
      algorithm = cloner.Clone(original.algorithm);

      parameters = new ObservableDictionary<string, IItem>();
      foreach (string key in original.parameters.Keys)
        parameters.Add(key, cloner.Clone(original.parameters[key]));

      results = new ObservableDictionary<string, IItem>();
      foreach (string key in original.results.Keys)
        results.Add(key, cloner.Clone(original.results[key]));
    }
开发者ID:thunder176,项目名称:HeuristicLab,代码行数:13,代码来源:Run.cs

示例7: ChangeCollection

 public void ChangeCollection()
 {
   _handle = new EventWaitHandle(false, EventResetMode.ManualReset);
   var test = new ObservableDictionary<int, string>();
   test.Changed += Dictionary_Changed;
   test.Add(0, "myValue");
   Assert.IsTrue(_handle.WaitOne(10), "Add() is not recognized as a change");
   _handle.Reset();
   test[0] = "newValue";
   Assert.IsTrue(_handle.WaitOne(10), "this[] is not recognized as a change");
   _handle.Reset();
   test.Remove(0);
   Assert.IsTrue(_handle.WaitOne(10), "Remove() is not recognized as a change");
 }
开发者ID:rnpowerconsulting,项目名称:appstract,代码行数:14,代码来源:ObservableDictionaryTests.cs

示例8: GetPluginsAll

        /// <summary>
        /// <para>Creates a <see cref="ObservableDictionary<string, bool>"/> that contains all available <see cref="TaskPlugin"/>s and loads their values from the settings</para>
        /// </summary>
        /// <param name="Main"></param>
        /// <returns></returns>
        public static ObservableDictionary<string, bool> GetPluginsAll(Main Main)
        {
            ObservableDictionary<string, bool> setting = GetPluginsSetting();

            ObservableDictionary<string, bool> plugins = new ObservableDictionary<string, bool>();
            foreach (Type task in Main.TaskMgr.TaskPluginsAvailable)
            {
                string name = task.Name;
                bool enabled = true;
                if (setting.ContainsKey(name))
                    enabled = setting[name];
                plugins.Add(name, enabled);
            }

            return plugins;
        }
开发者ID:Jonny007-MKD,项目名称:Trigger4Win,代码行数:21,代码来源:TaskOptions.cs

示例9: DictionaryChangesObserverExceptionsShouldBeThrownIfUnhandled

        public void DictionaryChangesObserverExceptionsShouldBeThrownIfUnhandled()
        {
            // given
            using (var observableDictionary = new ObservableDictionary<int, string>())
            {
                observableDictionary.DictionaryChanges.Subscribe(_ =>
                {
                    throw new InvalidOperationException("My Marker Message");
                });

                // when
                Action action = () => observableDictionary.Add(1, "One");

                // then
                action
                    .ShouldThrow<InvalidOperationException>()
                    .WithMessage("My Marker Message");
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:19,代码来源:ObservableDictionaryNotificationTests.cs

示例10: AddAddsItem

        public void AddAddsItem()
        {
            // given
            var key = 1;
            var value = "One";

            using (var observableDictionary = new ObservableDictionary<int, string>())
            {
                // when
                observableDictionary.Add(key, value);

                // then check whether all items have been accounted for
                observableDictionary.Count.Should().Be(1);
                observableDictionary.Should().Contain(key, value);

                observableDictionary.Keys.Should().Contain(key);
                observableDictionary.Values.Should().Contain(value);
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:19,代码来源:ObservableDictionaryModificationTests.cs

示例11: CountChangesObserverExceptionsShouldNotBeThrownIfHandledViaUnhandledObserverExceptionsObservable

        public void CountChangesObserverExceptionsShouldNotBeThrownIfHandledViaUnhandledObserverExceptionsObservable()
        {
            // given
            using (var observableDictionary = new ObservableDictionary<int, string>())
            {
                observableDictionary.ObserverExceptions.Subscribe(observerException =>
                {
                    observerException.Handled = true;
                });

                observableDictionary.CountChanges.Subscribe(_ =>
                {
                    throw new InvalidOperationException("My Marker Message");
                });

                // when
                Action action = () => observableDictionary.Add(1, "One");

                // then
                action.ShouldNotThrow<InvalidOperationException>();
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:22,代码来源:ObservableDictionaryNotificationTests.cs

示例12: ShouldNotNotifySubscribersAboutValueChangesAfterItemsAreRemovedFromDictionary

        public void ShouldNotNotifySubscribersAboutValueChangesAfterItemsAreRemovedFromDictionary()
        {
            // given
            var scheduler = new TestScheduler();

            int key = 1;
            var testInpcImplementationInstance = new MyNotifyPropertyChanged<int, string>(key);

            var observer = scheduler.CreateObserver<IObservableDictionaryChange<int, MyNotifyPropertyChanged<int, string>>>();
            var itemChangesObserver = scheduler.CreateObserver<IObservableDictionaryChange<int, MyNotifyPropertyChanged<int, string>>>();

            using (var observableDictionary = new ObservableDictionary<int, MyNotifyPropertyChanged<int, string>>(scheduler: scheduler))
            {
                observableDictionary.ThresholdAmountWhenChangesAreNotifiedAsReset = int.MaxValue;

                IDisposable dictionaryChangesSubscription = null;
                IDisposable dictionaryItemChangesSubscription = null;

                try
                {
                    dictionaryChangesSubscription = observableDictionary.DictionaryChanges.Subscribe(observer);
                    dictionaryItemChangesSubscription = observableDictionary.ValueChanges.Subscribe(itemChangesObserver);

                    // when
                    observableDictionary.Add(key, testInpcImplementationInstance); // first general message - ItemAdd
                    testInpcImplementationInstance.FirstProperty = Guid.NewGuid().ToString(); // second general / first item change message - ItemChanged
                    observableDictionary.Remove(key); // third general message - ItemRemoved
                    testInpcImplementationInstance.SecondProperty = Guid.NewGuid().ToString(); // should no longer be observable on/via dictionary

                    scheduler.AdvanceBy(100);

                    // then
                    observer.Messages.Count.Should().Be(3);
                    observer.Messages[0].Value.Value.ChangeType.Should().Be(ObservableDictionaryChangeType.ItemAdded);
                    observer.Messages[0].Value.Value.Key.Should().Be(key);
                    observer.Messages[0].Value.Value.Value.Should().Be(testInpcImplementationInstance);

                    observer.Messages[1].Value.Value.ChangeType.Should().Be(ObservableDictionaryChangeType.ItemValueChanged);
                    observer.Messages[1].Value.Value.Key.Should().Be(default(int));
                    observer.Messages[1].Value.Value.Value.Should().Be(testInpcImplementationInstance);
                    observer.Messages[1].Value.Value.OldValue.Should().BeNull();
                    observer.Messages[1].Value.Value.ChangedPropertyName.Should().Be(nameof(MyNotifyPropertyChanged<int, string>.FirstProperty));

                    observer.Messages[2].Value.Value.ChangeType.Should().Be(ObservableDictionaryChangeType.ItemRemoved);
                    observer.Messages[2].Value.Value.Key.Should().Be(key);
                    observer.Messages[2].Value.Value.Value.Should().Be(testInpcImplementationInstance);

                    itemChangesObserver.Messages.Count.Should().Be(1);
                    itemChangesObserver.Messages.First().Value.Value.ChangeType.Should().Be(ObservableDictionaryChangeType.ItemValueChanged);
                    itemChangesObserver.Messages.First().Value.Value.Key.Should().Be(default(int));
                    itemChangesObserver.Messages.First().Value.Value.Value.Should().Be(testInpcImplementationInstance);
                    itemChangesObserver.Messages.First().Value.Value.OldValue.Should().BeNull();
                    itemChangesObserver.Messages.First().Value.Value.ChangedPropertyName.Should().Be(nameof(MyNotifyPropertyChanged<int, string>.FirstProperty));
                }
                finally
                {
                    dictionaryChangesSubscription?.Dispose();
                    dictionaryItemChangesSubscription?.Dispose();
                }
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:61,代码来源:ObservableDictionaryNotificationTests.cs

示例13: RemoveRaisesPropertyChangedEventForItemIndexerAndCount

        public void RemoveRaisesPropertyChangedEventForItemIndexerAndCount()
        {
            // given
            using (var observableDictionary = new ObservableDictionary<int, string>())
            {
                observableDictionary.Add(1, "One");

                observableDictionary.MonitorEvents();

                // when
                observableDictionary.Remove(1);

                // then
                observableDictionary
                    .ShouldRaise(nameof(observableDictionary.PropertyChanged))
                    .WithSender(observableDictionary)
                    .WithArgs<PropertyChangedEventArgs>(args => args.PropertyName == "Item[]");

                observableDictionary
                    .ShouldRaise(nameof(observableDictionary.PropertyChanged))
                    .WithSender(observableDictionary)
                    .WithArgs<PropertyChangedEventArgs>(args => args.PropertyName == nameof(observableDictionary.Count));
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:24,代码来源:ObservableDictionaryNotificationTests.cs

示例14: AddShouldThrowOnNullKey

        public void AddShouldThrowOnNullKey()
        {
            // given
            using (var observableDictionary = new ObservableDictionary<string, string>())
            {
                // when
                Action action = () => observableDictionary.Add(null, null);

                // then
                action
                    .ShouldThrow<ArgumentNullException>()
                    .WithMessage("Value cannot be null.\r\nParameter name: key");

                observableDictionary.Count.Should().Be(0);
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:16,代码来源:ObservableDictionaryModificationTests.cs

示例15: SearchViewModel

        /// <summary>
        ///     The class constructor.
        /// </summary>
        /// <param name="bench"> Reference to dynBench object for logging </param>
        public SearchViewModel()
        {
            SelectedIndex = 0;
            RevitApiSearchElements = new List<SearchElementBase>();
            NodeCategories = new Dictionary<string, CategorySearchElement>();
            SearchDictionary = new SearchDictionary<SearchElementBase>();
            SearchResults = new ObservableCollection<SearchElementBase>();
            MaxNumSearchResults = 20;
            Visible = Visibility.Collapsed;
            _SearchText = "";
            IncludeRevitAPIElements = false; // revit api
            Regions = new ObservableDictionary<string, RegionBase>();
            //Regions.Add("Include Nodes from Package Manager", DynamoCommands.PackageManagerRegionCommand );
            Regions.Add("Include Experimental Revit API Nodes", new RevitAPIRegion());

            _topResult = this.AddRootCategory("Top Result");
            this.AddRootCategory(BuiltinNodeCategories.CORE);
            this.AddRootCategory(BuiltinNodeCategories.LOGIC);
            this.AddRootCategory(BuiltinNodeCategories.CREATEGEOMETRY);
            this.AddRootCategory(BuiltinNodeCategories.MODIFYGEOMETRY);
            this.AddRootCategory(BuiltinNodeCategories.REVIT);
            this.AddRootCategory(BuiltinNodeCategories.IO);
            this.AddRootCategory(BuiltinNodeCategories.SCRIPTING);
            this.AddRootCategory(BuiltinNodeCategories.ANALYZE);
        }
开发者ID:kentvv,项目名称:Dynamo,代码行数:29,代码来源:SearchViewModel.cs


注:本文中的ObservableDictionary.Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。