2011-02-01 28 views
0

ItemsSourceにHoursのItemsSourceがあります。 私は各アイテムを(データテンプレートの)境界線で表します。Silverlight、データテンプレートからItemSourceデータを取得programaticlly

これらの境界線には1時間分のデータがあり、コードの後ろにそのデータを取り出そうとしています。 でも可能ですか?

私のコード例:

<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

関連する問題