Silverlight, получение данных ItemSource из шаблона данных программным способом - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть ItemsControl с ItemSource of Hours.Я представляю каждый элемент границей (в шаблоне данных).

Теперь у каждой из этих границ есть данные за час, и я хочу получить их в коде позади.это вообще возможно?

мой пример кода:

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

1 Ответ

0 голосов
/ 02 февраля 2011

Я полагаю, что из вашего кода вы заинтересованы в поиске 'hourTime' в обработчике событий? Когда ItemsControl создает «экземпляр» вашего DataTemplate для каждого элемента, он устанавливает DataContext шаблона для самого элемента. Поэтому должно работать следующее:

Border border = sender as Border;
MyItemType item = border.DataContext as MyItemType;
var hourTime = item.hourTime;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...