行と列の形式でユーザー コントロールを設定する次のコードがあります。設定されているユーザー コントロールには、ボタン、リンク、テキスト ボックスなどが含まれます。特定の行/列の特定のユーザー コントロールで特定のボタンが押された場合、そのボタンが押されたユーザー コントロールを知る必要があります。行と列にユーザー コントロールを設定する XAML を次に示します。
<ItemsControl ItemsSource="{Binding Templates}" Width="{Binding GridWidth}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding NumColumns}" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Column" Value="{Binding ColumnIndex}" />
<Setter Property="Grid.Row" Value="{Binding RowIndex}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
</ItemsControl>
テンプレートは基本的に、行/列に設定されている UserControls のコレクションです。できればViewModelでこれを行いたいのですが、今のところコードビハインドのソリューションもうまくいきます。