前提・実現したいこと
ListBoxのItemsPanelコントロールで何ができるのかイメージが付かないため質問させていただきます。
カレンダーアプリを作成するのに、以前ここで質問をさせていただきました。
その際にもらったコードを基に勉強しているのですが、ItemsPanelを使用している箇所があり、ItemsPanelについて調べたのですが、何ができるのか、どういう役割なのかなど理解できなかったため教えていただきたいです。
よろしくお願いします。
該当のソースコード
<~省略~> <DockPanel> <DockPanel Margin="10" DockPanel.Dock="Bottom"> <Button Command="{Binding AddCommand}" Content="Add" DockPanel.Dock="Right" IsDefault="True" /> <TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}" /> </DockPanel> <GroupBox Margin="10" Padding="10"> <GroupBox.Header> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{Binding HeaderMonth}" /> <Button Command="{Binding PreviousCommand}" Content="<" /> <Button Command="{Binding NextCommand}" Content=">" /> </StackPanel> </GroupBox.Header> <ListBox HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ItemsSource="{Binding Items}" SelectedItem="{Binding Selected}"> <ListBox.Template> <ControlTemplate TargetType="ListBox"> <Border BorderBrush="Black" BorderThickness="1"> <DockPanel> <Border BorderBrush="Black" BorderThickness="0,0,0,1" DockPanel.Dock="Top"> <UniformGrid Columns="7"> <UniformGrid.Resources> <Style TargetType="Label"> <Setter Property="Margin" Value="1,0,0,0" /> <Setter Property="Padding" Value="0" /> <Setter Property="HorizontalContentAlignment" Value="Center" /> <Setter Property="Background" Value="#B0E0E6" /> </Style> </UniformGrid.Resources> <Label Margin="0" Content="日" Foreground="Red" /> <Label Content="月" /> <Label Content="火" /> <Label Content="水" /> <Label Content="木" /> <Label Content="金" /> <Label Content="土" Foreground="Blue" /> </UniformGrid> </Border> <ItemsPresenter /> </DockPanel> </Border> </ControlTemplate> </ListBox.Template> <ListBox.ItemsPanel> <ItemsPanelTemplate> <UniformGrid Columns="7" FirstColumn="{Binding FirstDayOffset}" /> </ItemsPanelTemplate> </ListBox.ItemsPanel> <ListBox.ItemTemplate> <DataTemplate> <DockPanel> <TextBlock HorizontalAlignment="Center" DockPanel.Dock="Top" Foreground="{Binding Color}" Text="{Binding Day}" /> <ItemsControl ItemsSource="{Binding Schedules}" /> </DockPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </GroupBox> </DockPanel>
試したこと
下記サイトを見ていました。
[ItemsControl.ItemsPanel プロパティ]
(https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.itemscontrol.itemspanel?view=net-5.0)
補足情報(FW/ツールのバージョンなど)
VisualStudio2019
.Net Core3.0
Livet v3.2.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/08 06:58