我目前正在使用ItemsControl模板绑定到ViewModel以呈现对象集合。我有一个ToggleButton作为模板的一部分。我想在后面的代码中访问绑定到集合中的UI项的对象。
以下是我的代码:
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Stretch" Orientation="Horizontal">
<ToggleButton Cursor="Hand"
IsChecked="{Binding IsActive, Mode=TwoWay}"
IsEnabled="{Binding CanToggleOnProfile}"
Style="{StaticResource ProfileToggleButtonStyle}"
PreviewMouseLeftButtonUp="OnProfileToggle">
我想在OnProfileToggle
调用后面的代码中,访问DataTemplate中的特定对象并用它做一些事情,但我似乎无法弄清楚如何访问它(什么索引)它在集合中等。)
答案 0 :(得分:3)
您会在发件人的DataContext
中找到您的特定对象:
private void OnProfileToggle(object sender, MouseButtonEventArgs e)
{
ToggleButton button = sender as ToggleButton;
object yourItem = button.DataContext;
}
当然,您必须将 yourItem 投射到您的项目类。