WPF について詳しく学ぶために WPF を使用してビンゴ ゲーム シミュレーターを構築しようとしていますが、<ItemsControl>
プログラムでテンプレートを変更する方法がわかりません。
VS 2010 の既定の WPF アプリケーションのみを使用しているため、MainWindow.xaml、App.xaml、および MainWindow.xaml.cs があります。
にアクセスしたいの<ItemTemplate>
は、そのビンゴ番号が選択された場合にバインドされたテンプレートを変更するためです。
コードビハインドファイルでこの解決策を試しましたが、この状況ではうまくいかないと思います。
MainWindow と App xaml ファイルをセットアップする方法は次のとおりです。
MainWindow.xaml
<ItemsControl Name="icBColumn" ItemsSource="{Binding CardBNumbers}"
Grid.Column="0" Grid.Row="2"
ItemTemplate="{StaticResource BingoSquare}"
ItemsPanel="{StaticResource BingoColumn}">
App.xaml
<DataTemplate x:Key="BingoSquare">
<Border Background="{DynamicResource UnmarkedSquare}">
<Label Content="{Binding}" />
</Border>
</DataTemplate>
<RadialGradientBrush x:Key="UnmarkedSquare" GradientOrigin="0.5,0.5"
Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<RadialGradientBrush.GradientStops>
<GradientStop Color="LimeGreen" Offset="1" />
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
<ItemsPanelTemplate x:Key="BingoColumn">
<UniformGrid Name="NumbersGrid" Columns="1" Rows="5"/>
</ItemsPanelTemplate>