0

我有一个 ItemsControl 和一个 ItemsSource 的小时数。我用边框表示每个项目(在数据模板中)。

现在,每个边界都有一个小时的数据,我想在后面的代码中检索它。有可能吗?

我的代码示例:

<ItemsControl x:Name="dayHours">
     <ItemsControl.ItemTemplate>
          <DataTemplate>
               <Border Name="dayHourBorder" Height="30" BorderBrush="#B0B6BE" Width="193" BorderThickness="1,0,1,1" Background="AliceBlue" Tag="{Binding Index}" />
          </DataTemplate>
     </ItemsControl.ItemTemplate>
 </ItemsControl>

并且以天真的方式,我希望有这样的代码:

(sender as Border).hourTime;
4

1 回答 1

0

从您的代码中,我猜您有兴趣在事件处理程序中找到“hourTime”吗?当 ItemsControl 为每个项目创建 DataTemplate 的“实例”时,它会将模板的 DataContext 设置为项目本身。因此,以下应该起作用:

Border border = sender as Border;
MyItemType item = border.DataContext as MyItemType;
var hourTime = item.hourTime;
于 2011-02-01T21:23:54.943 回答