0

時間の ItemsSource を持つ ItemsControl があります。各項目を境界線で表します (データ テンプレート内)。

さて、これらの境界線にはそれぞれ 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;
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 に答える