从datagrid Silverlight中区分不同的值

时间:2011-04-19 00:35:18

标签: c# wpf silverlight xaml data-binding

我有以下代码:

<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的值每次都不同,我希望按钮使用该值。但我似乎无法理解如何做到这一点。 从数据库中检索id,通常是1,2,3等。 但我希望我能获得价值(会有所不同)。

以下是显示内容的屏幕截图:

Example screenshot of presented code.

任何人都可以帮助我。

由于

1 个答案:

答案 0 :(得分:1)

该按钮继承了DataContext中的模板化项,您可以像这样得到您的对象:

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

我认为无需对TextBlock做任何事情。

编辑:目前还不是很清楚你想要什么(“我希望按钮使用该值”非常模糊),如果这不是你的意思寻找澄清你的问题。