Различать разные значения из datagrid Silverlight

#c# #wpf #silverlight #xaml #data-binding

#c# #wpf #silverlight #xaml #привязка к данным

Вопрос:

У меня есть следующий код:

 <sdk:DataGridTemplateColumn  Header="Print Ticket"
                             Width="100">
    <sdk:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Path=ticketId}"
                           Width="0"
                           x:Name="printTicketBlock" />
                <Button Content="Print Ticket"
                        Cursor="Hand" />
            </StackPanel>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
  

Значение printTicketBlock каждый раз разное, и я бы хотел, чтобы кнопка использовала это значение. Но, похоже, я не могу разобраться, как это сделать.
Идентификатор извлекается из базы данных и обычно равен 1,2,3 и т.д.
Но я хотел бы, чтобы значение (которое будет другим) было доступно мне.

Вот скриншот того, как будет выглядеть отображение:

Пример скриншота представленного кода.

Кто-нибудь может мне здесь помочь.

Спасибо

Ответ №1:

Кнопка наследует шаблонный элемент в DataContext, вы можете получить свой объект следующим образом:

 private void Button_Click(object sender, RoutedEventArgs e)
{
    var data = (sender as Button).DataContext as MyDataObject;
    DoStuff(data.ticketId);
}
  

Я думаю, что с текстовым блоком ничего не нужно делать.

Редактировать: Не очень понятно, чего вы хотите («Я бы хотел, чтобы кнопка использовала это значение» крайне расплывчато), если это не то, что вы ищете, проясните свой вопрос.