Ich habe den folgenden Code, der mein Benutzersteuerelement in Form von Zeilen und Spalten füllt. Das Benutzersteuerelement, das gerade ausgefüllt wird, enthält Schaltflächen, Links, Textfelder usw. Wenn eine bestimmte Schaltfläche in einem bestimmten Benutzersteuerelement in einer bestimmten Zeile/Spalte gedrückt wird, muss ich wissen, für welches Benutzersteuerelement diese Schaltfläche gedrückt wurde. Hier ist der XAML, die die Benutzersteuerungen in Zeilen und Spalten wird BevölGewähltes Element in 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>
Templates ist im Grunde eine Sammlung von Benutzersteuerelementen, die in Zeilen/Spalten bevölkert werden. Vorzugsweise möchte ich dies in ViewModel tun, aber Lösung in Code für jetzt funktioniert auch.
Ein 'ItemsControl' verfolgt das ausgewählte Objekt nicht. Wenn Sie dieses Verhalten möchten, verwenden Sie etwas wie eine 'ListBox' und überschreiben Sie die Vorlage, wie [this] (http://stackoverflow.com/a/9069382/302677) – Rachel