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


C# ObservableCollection.SelectMany方法代码示例

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


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

示例1: RiskAnalyserViewModel

        public RiskAnalyserViewModel(ICustomerService customerService)
        {
            _customerService = customerService;

            try
            {
                _customerService.Init();
                cutSettledBets = new ObservableCollection<CustomerBet>(_customerService.CustomerSettledBets);
                cutUnSettledBets = new ObservableCollection<CustomerBet>(_customerService.CustomerUnSettledBets);
            }
            catch (Exception e)
            {
                Header = e.Message;
            }

            SettleBets = new ObservableCollection<Bet>(cutSettledBets.SelectMany(d => d.Bet).ToList());
            UnSettleBets = new ObservableCollection<Bet>(cutUnSettledBets.SelectMany(d => d.Bet).ToList());

            ShowSettled = new DelegateCommand(VisibleSettled);

            ShowUnSettled = new DelegateCommand(VisibleUnSettled);

            ShowUnusalWinning = new DelegateCommand(UnsualWinning);

            ShowUnusalStake = new DelegateCommand(UnusalStake);

            ShowHighlyUnusalStake = new DelegateCommand(HighlyUnusalStake);

            ShowBigWin = new DelegateCommand(BigWin);

            Header = "Settled Bets";
        }
开发者ID:Dipendran,项目名称:WHA,代码行数:32,代码来源:RiskAnalyserViewModel.cs

示例2: ScheduleSchemePageViewModel

		public ScheduleSchemePageViewModel()
		{
			Title = "Графики работы";
			var organisations = OrganisationHelper.Get(new OrganisationFilter());
			Schedules = new ObservableCollection<TreeNodeItemViewModel>(organisations.Select(item => new TreeNodeItemViewModel(item, false)));
			var scheduleSchemas = ScheduleHelper.Get(new ScheduleFilter());
			if (scheduleSchemas != null)
			{
				foreach (var scheduleScheme in scheduleSchemas)
				{
					var schedule = Schedules.FirstOrDefault(x => x.Item.UID == scheduleScheme.OrganisationUID);
					if (schedule != null)
						schedule.AddChild(new TreeNodeItemViewModel(scheduleScheme, true));
				}
			}
			SelectAllCommand = new RelayCommand(() => Schedules.SelectMany(item => item.Children).ForEach(item => item.IsChecked = true));
			SelectNoneCommand = new RelayCommand(() => Schedules.SelectMany(item => item.Children).ForEach(item => item.IsChecked = false));
		}
开发者ID:xbadcode,项目名称:Rubezh,代码行数:18,代码来源:ScheduleSchemePageViewModel.cs

示例3: DeckList

        public DeckList(string path, Dispatcher disp, DeckList parent = null, bool isRoot = false)
        {
            Parent = parent;
            Path = path;
            Name = new DirectoryInfo(path).Name;

            if (isRoot) IsRootFolder = true;

            DeckLists = new ObservableCollection<DeckList>();
            Decks = new ObservableCollection<MetaDeck>();

            foreach (var f in Directory.GetDirectories(path).Select(x => new DirectoryInfo(x)))
            {
                if (isRoot)
                {
                    if (DataNew
                        .DbContext.Get()
                        .Games
                        .Any(x => x.Name.Equals(f.Name, StringComparison.InvariantCultureIgnoreCase)))
                    {
                        var dl = new DeckList(f.FullName, disp, this);
                        dl.IsGameFolder = true;
                        disp.Invoke(new Action(() => DeckLists.Add(dl)));
                    }
                }
                else
                {
                    var dl = new DeckList(f.FullName, disp, this);
                    disp.Invoke(new Action(() => DeckLists.Add(dl)));
                }
            }

            foreach (var f in Directory.GetFiles(Path, "*.o8d"))
            {
                var deck = new MetaDeck(f);
                disp.Invoke(new Action(() => Decks.Add(deck)));
            }
            foreach (var d in DeckLists.SelectMany(x => x.Decks))
            {
                MetaDeck d1 = d;
                disp.Invoke(new Action(() => Decks.Add(d1)));
            }
        }
开发者ID:boykathemad,项目名称:OCTGN,代码行数:43,代码来源:DeckManager.xaml.cs

示例4: FindItem

 public IExplorerItemModel FindItem(ObservableCollection<IExplorerItemModel> models, Func<IExplorerItemModel, bool> searchCriteria)
 {
     var explorerItemModels = models.SelectMany(explorerItemModel => explorerItemModel.Descendants()).ToList();
     return searchCriteria == null ? null : explorerItemModels.FirstOrDefault(searchCriteria);
 }
开发者ID:ndubul,项目名称:Chillas,代码行数:5,代码来源:ExplorerSteps.cs

示例5: VisitOrderings

        protected override void VisitOrderings(ObservableCollection<Ordering> orderings, QueryModel queryModel, OrderByClause orderByClause)
        {
            var orders = orderings.SelectMany(ordering => PropertyPathExtractionVisitor.ExtractPaths(ordering.Expression, _nodeTypeProvider, false, true, _namingScheme, ".")
                .Select(path => string.Format("{0} {1}", path, ordering.OrderingDirection.ToString().ToLowerInvariant())))
                .ToList();
            if (orders.Count > 0)
            {
                if (OrderBy != null)
                {
                    OrderBy = "," + OrderBy;
                }
                OrderBy = string.Join(",", orders.ToArray()) + OrderBy;
            }

            base.VisitOrderings(orderings, queryModel, orderByClause);
        }
开发者ID:nicocrm,项目名称:DotNetSDataClient,代码行数:16,代码来源:SDataQueryModelVisitor.cs

示例6: ParseStfs

        private static ObservableCollection<FileEntryViewModel> ParseStfs(StfsPackage package)
        {
            var collection = new ObservableCollection<FileEntryViewModel>();
            var allocatedBlocks = new HashSet<int>();
            var blockCollisions = new HashSet<int>();
            foreach (var fileEntry in package.FlatFileList.Where(f => !f.IsDirectory).OrderBy(f => f.Name))
            {
                var blockList = package.GetFileEntryBlockList(fileEntry);
                foreach (var block in blockList.Where(b => b.Key.HasValue))
                {
                    if (!allocatedBlocks.Contains(block.Key.Value))
                        allocatedBlocks.Add(block.Key.Value);
                    else
                        blockCollisions.Add(block.Key.Value);
                }
                collection.Add(new FileEntryViewModel(fileEntry, blockList, package));
            }

            foreach (var block in blockCollisions.SelectMany(blockCollision => collection.SelectMany(vm => vm.Blocks.Where(b => b.BlockNumber == blockCollision))))
            {
                block.Health = FileBlockHealthStatus.Collision;
            }

            return collection;
        }
开发者ID:mousetwentytwo,项目名称:test,代码行数:25,代码来源:ProfileRebuilderViewModel.cs

示例7: Remove

 public bool Remove(string itemID)
 {
     ObservableCollection<FinderNode> copy = new ObservableCollection<FinderNode>(_nodes);
     FinderNode node = copy.SelectMany(x => x.Descendants()).Where(x => x.Type == NodeType.PRODUCT && x.ItemID == itemID).SingleOrDefault();
     return Remove(node);
 }
开发者ID:CHiiLD,项目名称:DY-InventoryApp,代码行数:6,代码来源:FinderDirector.cs

示例8: CreatePdfReport

        public IPdfReportData CreatePdfReport(ObservableCollection<Shipment> source, string Agent)
        {
			var items = new List<vm.ShipmentItem>();
			source.SelectMany(x => x.ShipmentItems).ToList().ForEach(item => items.Add(new vm.ShipmentItem(item)));

            var tempPath = Path.GetTempPath();
            var documentPath = string.Format("{0}{1}{2}.pdf", tempPath, tempPath.EndsWith(Path.DirectorySeparatorChar.ToString()) ? string.Empty : Path.DirectorySeparatorChar.ToString(), Guid.NewGuid().ToString("N"));

			return new PdfReport().DocumentPreferences(doc =>
			{
				doc.RunDirection(PdfRunDirection.LeftToRight);
				doc.Orientation(PageOrientation.Portrait);
				doc.PageSize(PdfPageSize.A4);
				doc.DocumentMetadata(new DocumentMetadata { Author = Agent, Application = "VirtoCommerce", Keywords = "Picklist", Subject = "Picklist", Title = "Picklist" });
				doc.Compression(new CompressionSettings
				{
					EnableCompression = true,
					EnableFullCompression = true
				});
				// add print command dialog on open to the pdf
				doc.PrintingPreferences(new PrintingPreferences
				{
					ShowPrintDialogAutomatically = true
				});
			})
			 .DefaultFonts(fonts =>
			 {
				 fonts.Path(Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
							Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
				 fonts.Size(11);
				 fonts.Color(System.Drawing.Color.Black);
			 })
			 .PagesFooter(footer => footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy")))
			 .PagesHeader(header => header.CustomHeader(new GroupingHeaders { PdfRptFont = header.PdfFont }))
			 .MainTableTemplate(template => template.BasicTemplate(BasicTemplate.SilverTemplate))
			 .MainTablePreferences(table =>
			 {
				 table.ColumnsWidthsType(TableColumnWidthType.Relative);
				 table.GroupsPreferences(new GroupsPreferences
				 {
					 GroupType = GroupType.HideGroupingColumns,
					 RepeatHeaderRowPerGroup = true,
					 ShowOneGroupPerPage = false,
					 SpacingBeforeAllGroupsSummary = 5f,
					 NewGroupAvailableSpacingThreshold = 150,
					 SpacingAfterAllGroupsSummary = 10f
				 });
				 table.SpacingAfter(4f);
			 })
			.MainTableDataSource(dataSource => dataSource.StronglyTypedList(items))
			 .MainTableColumns(columns =>
			 {
				 columns.AddColumn(column =>
				 {
					 column.PropertyName("rowNo");
					 column.IsRowNumber(true);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Center);
					 column.IsVisible(true);
					 column.Order(0);
					 column.Width(5);
					 column.HeaderCell("#");
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.ShipmentId);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Center);
					 column.Order(1);
					 column.Width(20);
					 column.HeaderCell("ShipmentId");
					 column.Group(
					 (val1, val2) => val1.ToString() == val2.ToString());
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.ItemName);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Justified);
					 column.IsVisible(true);
					 column.Order(2);
					 column.Width(50);
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.ItemCode);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Right);
					 column.IsVisible(true);
					 column.Order(3);
					 column.Width(15);
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.Quantity);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Center);
					 column.IsVisible(true);
					 column.Order(4);
					 column.Width(10);
				 });
//.........这里部分代码省略.........
开发者ID:karpinskiy,项目名称:vc-community,代码行数:101,代码来源:PicklistPdfReport.cs

示例9: CreatePdfReport

        public IPdfReportData CreatePdfReport(ObservableCollection<Shipment> source, string Agent)
        {
			var items = new List<vm.ShipmentItem>();
			source.SelectMany(x => x.ShipmentItems).ToList().ForEach(item => items.Add(new vm.ShipmentItem(item)));

            var tempPath = Path.GetTempPath();
            var documentPath = string.Format("{0}{1}{2}.pdf", tempPath, tempPath.EndsWith(Path.DirectorySeparatorChar.ToString()) ? string.Empty : Path.DirectorySeparatorChar.ToString(), Guid.NewGuid().ToString("N"));

			return new PdfReport().DocumentPreferences(doc =>
			{
				doc.RunDirection(PdfRunDirection.LeftToRight);
				doc.Orientation(PageOrientation.Portrait);
				doc.PageSize(PdfPageSize.A4);
				doc.DocumentMetadata(new DocumentMetadata { Author = Agent, Application = "VirtoCommerce", Keywords = "Slip", Subject = "Slip", Title = "Slip" });
				doc.Compression(new CompressionSettings
				{
					EnableCompression = true,
					EnableFullCompression = true
				});
				// add print command dialog on open to the pdf
				doc.PrintingPreferences(new PrintingPreferences
				{
					ShowPrintDialogAutomatically = true
				});
			})
			 .DefaultFonts(fonts =>
			 {
				 fonts.Path(Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"),
							Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf"));
				 fonts.Size(11);
				 fonts.Color(System.Drawing.Color.Black);
			 })
			 .PagesHeader(header => header.CustomHeader(new GroupingSlipHeaders { PdfRptFont = header.PdfFont }))
			 .MainTableTemplate(template => template.BasicTemplate(BasicTemplate.SilverTemplate))
			 .MainTablePreferences(table =>
			 {
				 table.ColumnsWidthsType(TableColumnWidthType.Relative);
				 table.GroupsPreferences(new GroupsPreferences
				 {
					 GroupType = GroupType.HideGroupingColumns,
					 RepeatHeaderRowPerGroup = true,
					 ShowOneGroupPerPage = true,
					 SpacingBeforeAllGroupsSummary = 15f,
					 NewGroupAvailableSpacingThreshold = 150,
					 SpacingAfterAllGroupsSummary = 15f
				 });
				 table.SpacingAfter(4f);
			 })
			.MainTableDataSource(dataSource => dataSource.StronglyTypedList(items))
			 .MainTableColumns(columns =>
			 {
				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.ShipmentId);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Center);
					 column.Order(0);
					 column.Width(20);
					 column.HeaderCell("ShipmentId");
					 column.Group(
					 (val1, val2) => val1.ToString() == val2.ToString());
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.ItemCode);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Left);
					 column.IsVisible(true);
					 column.Order(1);
					 column.Width(20);
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.ItemName);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Justified);
					 column.IsVisible(true);
					 column.Order(2);
					 column.Width(40);
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.Quantity);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Right);
					 column.IsVisible(true);
					 column.Order(4);
					 column.Width(10);
				 });

				 columns.AddColumn(column =>
				 {
					 column.PropertyName<vm.ShipmentItem>(x => x.UnitPrice);
					 column.CellsHorizontalAlignment(HorizontalAlignment.Right);
					 column.IsVisible(true);
					 column.Order(4);
					 column.Width(20);
					 column.CalculatedField(
						 list =>
						 {
							 if (list == null) return string.Empty;
//.........这里部分代码省略.........
开发者ID:karpinskiy,项目名称:vc-community,代码行数:101,代码来源:SlipPdfReport.cs

示例10: Clean

 public void Clean(ObservableCollection<Directory> directoryCollection,
     List<Video> videoCollection)
 {
     this.BackupLibrary();
     this.Logger().Info("Cleaning files.");
     var existingFiles =
         directoryCollection
             .SelectMany(
                 d => DirectoryHelper.GetVideoFiles(d.DirectoryPath, d.IsIncludeSubdirectories))
             .ToList();
     var videosToRemove = videoCollection
         .Select(t => t.FileName)
         .Except(existingFiles)
         .ToList();
     foreach (var file in videosToRemove)
     {
         var video = videoCollection.Single(v => v.FileName == file);
         videoCollection.Remove(video);
         this.Logger().DebugFormat("File '{0}' removed.", video.FileName);
     }
     this.Logger().InfoFormat("'{0}' files removed.", videosToRemove.Count);
 }
开发者ID:Ledragon,项目名称:VideoPlayer,代码行数:22,代码来源:LibraryService.cs

示例11: SU

 public void SU()
 {
     _Collection = new ObservableCollection<MyObject>();
     _Target = _Collection.LiveSelectMany(s => s.MyFriends);
     _Expected = _Collection.SelectMany(s => s.MyFriends);
 }
开发者ID:David-Desmaisons,项目名称:MusicCollection,代码行数:6,代码来源:LiveSelectManyTestor2.cs

示例12: GetItem

 public static StandardDataItem GetItem(long id, ObservableCollection<StandardDataGroup> groups)
 {
     // Simple linear search is acceptable for small data sets
     var matches = groups.SelectMany(group => group.Items).Where((item) => item.Id.Equals(id));
     if (matches.Count() == 1) return matches.First();
     return null;
 }
开发者ID:jamesmontemagno,项目名称:triconf-life-code,代码行数:7,代码来源:StandardDataSource.cs

示例13: LoadFromLocal

        /// <summary>
        /// Load caching from local hard drive.
        /// </summary>
        public static void LoadFromLocal()
        {
            ActivityAssemblyItems.Clear();
            ActivityItems.Clear();

            if (File.Exists(Utility.GetActivityAssemblyCatalogFileName()))
            {
                var deserialized = Utility.DeserializeSavedContent(Utility.GetActivityAssemblyCatalogFileName()) as IEnumerable<ActivityAssemblyItem>;
                ActivityAssemblyItems = new ObservableCollection<ActivityAssemblyItem>(deserialized);
                ActivityAssemblyItems
                    .SelectMany(activityAssemblyItem => activityAssemblyItem.ActivityItems)
                    .ToList()
                    .ForEach(item => ActivityItems.Add(item));
            }
        }
开发者ID:barbarossia,项目名称:CWF,代码行数:18,代码来源:Caching.cs

示例14: AnalyzeDemo


//.........这里部分代码省略.........
					{
						KillerName = killer.Name,
						KillerSteamId = killer.SteamId,
						KillerSide = killer.Side,
						KilledName = killed.Name,
						KilledSteamId = killed.SteamId,
						KilledSide = killed.Side,
						RoundNumber = i,
						Weapon = Weapon.WeaponList.ElementAt(random.Next(44))
					});
				}

				// generate open / entry kills for this round
				Round round = new Round
				{
					Number = i + 1,
					OneKillCount = random.Next(5),
					TwoKillCount = random.Next(2),
					ThreeKillCount = random.Next(1),
					FourKillCount = random.Next(1),
					FiveKillCount = random.Next(1),
					EquipementValueTeam1 = random.Next(4200, 30000),
					EquipementValueTeam2 = random.Next(4200, 30000),
					StartMoneyTeam1 = random.Next(4200, 50000),
					StartMoneyTeam2 = random.Next(4200, 50000),
					Tick = random.Next(7000, 100000),
					WinnerName = teamCt.Name,
					WinnerSide = Team.CounterTerrorist,
					MolotovThrownCount = random.Next(5),
					DecoyThrownCount = random.Next(5),
					IncendiaryThrownCount = random.Next(5),
					SmokeThrownCount = random.Next(5),
					FlashbangThrownCount = random.Next(5),
					StartTimeSeconds = random.Next(1),
					HeGrenadeThrownCount = random.Next(5),
					BombDefused = null,
					EndTimeSeconds = random.Next(100),
					BombPlanted = null,
					BombExploded = null,
					Type = RoundType.NORMAL,
					EndReason = RoundEndReason.CTWin,
					EntryKillEvent = new EntryKillEvent(random.Next(1, 10000), random.Next(1, 100))
					{
						HasWin = random.Next(100) < 50,
						KillerSteamId = players.ElementAt(random.Next(9)).SteamId,
						KillerName = players.ElementAt(random.Next(9)).Name,
						KilledSteamId = players.ElementAt(random.Next(9)).SteamId,
						KilledName = players.ElementAt(random.Next(9)).Name,
						Weapon = Weapon.WeaponList.ElementAt(random.Next(44)),
						KilledSide = Team.CounterTerrorist,
						KillerSide = Team.Terrorist
					},
					OpenKillEvent = new OpenKillEvent(random.Next(1, 10000), random.Next(1, 100))
					{
						HasWin = random.Next(100) < 50,
						KillerSteamId = players.ElementAt(random.Next(9)).SteamId,
						KillerName = players.ElementAt(random.Next(9)).Name,
						KilledSteamId = players.ElementAt(random.Next(9)).SteamId,
						KilledName = players.ElementAt(random.Next(9)).Name,
						Weapon = Weapon.WeaponList.ElementAt(random.Next(44)),
						KilledSide = Team.CounterTerrorist,
						KillerSide = Team.Terrorist
					},
					SideTrouble = Team.Spectate,
					Kills = kills
				};
				rounds.Add(round);
			}

			demo.Id = "de_dust25445648778447878";
			demo.Source = new Valve();
			demo.Name = "esea_nip_vs_titan.dem";
			demo.Tickrate = 15;
			demo.ServerTickrate = 128;
			demo.MapName = "de_dust2";
			demo.ClientName = "localhost";
			demo.Hostname = "local";
			demo.OneKillCount = 90;
			demo.TwoKillCount = 30;
			demo.ThreeKillCount = 25;
			demo.FourKillCount = 3;
			demo.FiveKillCount = 1;
			demo.Path = "C:\\mydemo.dem";
			demo.ScoreTeam1 = 16;
			demo.ScoreTeam2 = 6;
			demo.Type = "GOTV";
			demo.Comment = "comment";
			demo.ScoreFirstHalfTeam1 = 10;
			demo.ScoreFirstHalfTeam2 = 5;
			demo.ScoreSecondHalfTeam1 = 6;
			demo.ScoreSecondHalfTeam2 = 1;
			demo.TeamCT = teamCt;
			demo.TeamT = teamT;
			demo.Players = players;
			demo.Rounds = rounds;
			demo.MostKillingWeapon = Weapon.WeaponList[random.Next(44)];
			foreach (KillEvent e in rounds.SelectMany(round => round.Kills)) demo.Kills.Add(e);

			return Task.FromResult(demo);
		}
开发者ID:green-s,项目名称:CSGO-Demos-Manager,代码行数:101,代码来源:DemosServiceDesign.cs


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