本文整理汇总了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";
}
示例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));
}
示例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)));
}
}
示例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);
}
示例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);
}
示例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;
}
示例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);
}
示例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);
});
//.........这里部分代码省略.........
示例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;
//.........这里部分代码省略.........
示例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);
}
示例11: SU
public void SU()
{
_Collection = new ObservableCollection<MyObject>();
_Target = _Collection.LiveSelectMany(s => s.MyFriends);
_Expected = _Collection.SelectMany(s => s.MyFriends);
}
示例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;
}
示例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));
}
}
示例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);
}