ジェネレーターの生成
class ExWindow(Window): def init(self): ... for group, teams in Team(): item = TabItem( Header=group, ) self.tabControl.Items.Add(item) panel = WrapPanel() item.Content = panel for e in teams: brush = ImageBrush( ImageSource=BitmapImage(Uri("image/%s.gif"%e, UriKind.Relative)) ) panel.Children.Add(Rectangle( Width=50, Height=50, Fill=brush, ))
各 TabItem には、パネル WrapPanel を配置するとともに、その中に図形 Rectangle を配置するとともに、その内部をブラシ(画像)で塗ります。
ItemsControl | Panel | |
---|---|---|
プロパティー | .Items | .Children |
コントロール | TabControl | WrapPanel |
このとき、WrapPanel は(WrapPanel と同様に)複数のデータ項目を扱いますが、Panel の一種なので、プロパティー .Children を介して、各要素を「追加」します。