[英]dynamically generate a windows 10ish tile-menue in Windows Forms
这是我创建的一个简单示例,可帮助您开始使用模型零件。
假设您有一个Tile类别代表您的Tile。 在这种情况下,我将组名直接放在GroupId
贴中,但是您也可以有一个Group
类,并将GroupId
存储在GroupId
贴中。
public class Tile
{
public string Title { get; set; }
public string Group { get; set; }
}
现在,假设您已经创建了一些像这样的图块:
var tiles = new Tile[] {
new Tile { Title = "Tile 1", Group = "Group 1" },
new Tile { Title = "Tile 2", Group = "Group 1" },
new Tile { Title = "Tile 3", Group = "Group 1" },
new Tile { Title = "Tile 4", Group = "Group 2" },
new Tile { Title = "Tile 5", Group = "Group 2" },
new Tile { Title = "Tile 6", Group = "Group 2" }};
现在,您可以使用简单的Linq查询按Group
参数对图块进行Group
:
var groupedTiles =
from t in tiles
group t by t.Group into g
select new { Group = g.Key, Tiles = g.ToList() };
groupTiles
将包含一个“组”列表,其中将包含每个附加的图块列表。 您应该能够轻松地将其绑定到视图。
这是控制台输出:
foreach (var group in groupedTiles)
{
Console.Out.WriteLine(group.Group);
foreach (var tile in group.Tiles)
{
Console.Out.WriteLine("\t" + tile.Title);
}
}
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.