在datagrid行silverlight中创建Button

时间:2015-07-01 12:24:41

标签: c# wpf silverlight c#-4.0 datagrid

我喜欢Silverlight Datagrid,

enter image description here

我需要在每一行中添加一个按钮,如果我点击该按钮,它将重定向到另一个页面,其中特定行的名称值。因为我需要在重定向的页面中显示名称值。

对Silverlight应用程序不熟悉。需要指导。

1 个答案:

答案 0 :(得分:1)

Chris是正确的,但是有很多在线教程,但是对于任何访问此网站的人都是一个例子。

您的数据网格看起来像这样

<sdk:DataGrid AutoGenerateColumns="False" Padding="15" Height="129" x:Name="dgSOF" Width="1021" ItemsSource="{Binding Path=TestListBinding}" RowHeight="30" BorderBrush="#FFE4E4E4">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTextColumn Binding="{Binding Path=Something}" Header="Something"/>
                <sdk:DataGridTemplateColumn>
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Button Margin="5" Click="Button_Click" Width="100" Content="Click Me!"/>
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
            </sdk:DataGrid.Columns>
        </sdk:DataGrid>

然后背后的代码看起来像这样

private void Button_Click(object sender, RoutedEventArgs e)
    {
        string ClickedSomething = ((TestSL.TT)(((System.Windows.Controls.ContentPresenter)(VisualTreeHelper.GetParent(sender as Button))).DataContext)).Something;

        SilverlightMessageBoxLibrary.CustomMessage cm = new SilverlightMessageBoxLibrary.CustomMessage("You clicked on " + ClickedSomething, SilverlightMessageBoxLibrary.CustomMessage.MessageType.Error);

        cm.Show();
    }

这应该指向正确的方向