using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Media;
namespace WpfApp7
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
private Random objRandom = new Random();
public MainWindow()
{
InitializeComponent();
CreateData();
}
private void CreateData()
{
List<TreeDataStructure> ArrayTreeData = new List<TreeDataStructure>();
for (int i = 0; i < 10; i++)
{
TreeDataStructure objFirstTreeData = new TreeDataStructure();
objFirstTreeData.LabelTest = string.Format("{0}", i);
byte f_r = GetRandomByte();
byte f_g = GetRandomByte();
byte f_b = GetRandomByte();
objFirstTreeData.ForeColor = new SolidColorBrush(Color.FromArgb(255, f_r, f_g, f_b));
byte b_r = GetRandomByte();
byte b_g = GetRandomByte();
byte b_b = GetRandomByte();
objFirstTreeData.BackColor = new SolidColorBrush(Color.FromArgb(128, b_r, b_g, b_b));
for (int j = 0; j < 5; j++)
{
TreeDataStructure objSecondTreeData = new TreeDataStructure();
objSecondTreeData.LabelTest = string.Format("{0}-{1}", i, j);
objSecondTreeData.ForeColor = new SolidColorBrush(Color.FromArgb(GetRandomByte(), f_r, f_g, f_b));
objSecondTreeData.BackColor = new SolidColorBrush(Color.FromArgb(GetRandomByte(), b_r, b_g, b_b));
objFirstTreeData.SubData.Add(objSecondTreeData);
}
ArrayTreeData.Add(objFirstTreeData);
}
this.DataContext = ArrayTreeData;
}
private byte GetRandomByte()
{
return BitConverter.GetBytes(objRandom.Next(256))[0];
}
}
}
TreeDataStructure.cs
using System.Collections.Generic;
using System.Windows.Media;
namespace WpfApp7
{
public class TreeDataStructure
{
public string LabelTest { get; set; } = "";
public List<TreeDataStructure> SubData { get; set; } = new List<TreeDataStructure>();
public Brush ForeColor { get; set; } = new SolidColorBrush(Colors.Black);
public Brush BackColor { get; set; } = new SolidColorBrush(Colors.White);
}
}
ディスカッション
コメント一覧
まだ、コメントがありません