1

我目前正在使用绑定到 ViewModel 的 ItemsControl 模板来呈现对象集合。我有一个 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 中的特定对象并用它做一些事情,但我似乎无法弄清楚如何访问它(它在集合中的索引等)。

4

1 回答 1

3

您将DataContext发件人中找到您的特定对象:

private void OnProfileToggle(object sender, MouseButtonEventArgs e)
{
    ToggleButton button = sender as ToggleButton;
    object yourItem = button.DataContext;
}

当然,您必须将yourItem 转换为您的项目类。

于 2012-12-17T19:40:52.133 回答