私は XAML/Wpf フォームを初めて使用するので、このプロジェクトは私の能力を少し超えている可能性があります。基本的に一連の「ジョブ」をフォームに追加するスケジューラーを作成したいと思います。それぞれにクリックイベントなどの独自の機能がありますが、ほとんどの場合、背景と設定されたサイズのラベルです。
これは、Winforms で (データを削除して) 作成したいもののようなものですが、フォームに追加するのに非常に時間がかかりました。xamlを使用したある種のデータバインディングとユーザーコントロールが私を助けてくれることを望んでいました。
これらのジョブは多数あります。理想的には、各行が独自のユーザーコントロールまたは各セクション(ここではアセンブリセルとしてマークされています)である可能性があると考えていました。
ジョブをウィンドウに配置できるコードがいくつかありましたが、ユーザー コントロールも行ラベルもセクション ラベルもありませんでした。xaml では次のように表示されます。
<Window.Resources>
<DataTemplate x:Key="Job">
<Label Content="{Binding}" Height ="100" Width="100" BorderThickness="1" BorderBrush="Black"/>
</DataTemplate>
<DataTemplate x:Key="wrkCenterPanel">
<ItemsControl ItemsSource="{Binding}" ItemTemplate="{DynamicResource job}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" Width="Auto" Height="Auto" >
</StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</Window.Resources>
...
<Label Grid.Row="0" Grid.Column="0" Content="Production Scheduler" Width="Auto" Height="Auto" FontSize="40" FontWeight="Bold" HorizontalAlignment="Center" />
<ScrollViewer Grid.Row="1" Grid.Column="0" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<ItemsControl x:Name="sched" ItemTemplate="{DynamicResource wrkCenterPanel}" />
</ScrollViewer>
コードには List(Of List(Of String)) があり、各行を文字列の新しいリストとして追加し、それを sched にバインドしました。これは正しい方向に進んでいますか?どんな助けでも大歓迎です。