私は、行と列の形で自分のユーザーコントロールを作成する次のコードを持っています。入力されているユーザーコントロールには、ボタン、リンク、テキストボックスなどが含まれています。特定の行/列の特定のユーザーコントロールで特定のボタンが押されたとき、そのボタンが押されたユーザーコントロールを知る必要があります。ここで、行と列ItemsControlで選択された項目を取得する
<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>
テンプレートにユーザーコントロールを移入されたXAMLは、基本的には、行/列に移入されているユーザーコントロールの集まりです。 私はこれをViewModelでやりたいと思っていますが、今のところコードの解決策はうまくいくでしょう。
'ItemsControl'は選択したアイテムを追跡しません。そのような動作が必要な場合は、ListBoxのようなものを使用し、[this](http://stackoverflow.com/a/9069382/302677)のようにテンプレートを上書きします。 – Rachel