2011-02-01 34 views
0

我有一个ItemsControl与ItemsSource的小时。 我用边框表示每个项目(在数据模板中)。Silverlight,从数据模板获取ItemSource数据程序化

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

我的代码示例:

<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; 

回答

0

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

Border border = sender as Border; 
MyItemType item = border.DataContext as MyItemType; 
var hourTime = item.hourTime; 
+0

非常感谢你,我现在觉得愚蠢;) – Notter 2011-02-01 22:09:21