WPFでモグラたたきゲームを実装しようとしています。
モグラ塚はUniformGridにあります。オプションに応じて、モグラ塚はチェックボックスまたは画像になります。そして、ここで問題が発生します。
チェックボックスとイメージの両方を受け入れるようにUniformGridを実装する方法がわかりません。たぶん、あなたは私がそれを解決する方法をもっとよく知っているでしょう。チェックボックスと画像の UniformGrid はお勧めできません。
私はこのようにしてみました:
<ItemsControl Name="GameBlocksItemsControl" ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=Moles}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Window}, Path=Conf.Cols}"
Rows="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Window}, Path=Conf.Rows}"
Name="MolesGrid">
</UniformGrid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
MolesはObjectのコレクションなので、そこにCheckboxまたはBitmapImageを配置できます。
残念ながら、いくつかのBitmapImageをコレクションに追加した後、それらは正しく表示されません (画像の代わりにSystem.Windows.Media.Imaging.BitmapImageと書かれています)。コレクションにCheckBoxを追加すると、それらはうまく表示されます。
コンバーターを作成することを検討しましたが、そのようなコンバーターは、指定されたオブジェクトがCheckBoxまたはBitmapImageであるかどうかを知る必要があります。コード化できたとしても、それはあまり洗練されたソリューションではありません