如何在Silverlight中获取DataGrid的EditTemplate中的控件 [英] how to get a control in the EditTemplate of DataGrid in silverlight

查看:74
本文介绍了如何在Silverlight中获取DataGrid的EditTemplate中的控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Silverlight中获取DataGrid的EditTemplate中的控件,我使用VisualTreeHelper来获取其子控件,但它返回null.如何获取它?

i want to get a control in EditTemplate of DataGrid in silverlight,i used VisualTreeHelper to get the its'' child control,but it return null.how to get it ?

推荐答案

您可能想做这样的事情

You probably want to do something like this

<sdk:DataGrid AutoGenerateColumns="False" Height="312" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="388" DataContext="{Binding Source={StaticResource ViewModel}}" ItemsSource="{Binding Path=Items}">
    <sdk:DataGrid.Columns>
        <sdk:DataGridTemplateColumn CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Header="Name">
            <sdk:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Path=Name}"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellTemplate>
            <sdk:DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <Button Content="{Binding Path=Name}"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellEditingTemplate>
        </sdk:DataGridTemplateColumn>
        <sdk:DataGridTemplateColumn CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Header="Active">
            <sdk:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Path=Active}"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellTemplate>
            <sdk:DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding Path=Active}"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellEditingTemplate>
        </sdk:DataGridTemplateColumn>
        <sdk:DataGridTemplateColumn CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Header="ID">
            <sdk:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ProgressBar Height="20" Maximum="10" Value="{Binding Path=ID}"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellTemplate>
            <sdk:DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Path=ID}"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellEditingTemplate>
        </sdk:DataGridTemplateColumn>
    </sdk:DataGrid.Columns>
</sdk:DataGrid>



同样,也可以通过c#代码实现.让我知道您是否需要.



Same can be achieved by c# code as well. Let me know if you require that.


这篇关于如何在Silverlight中获取DataGrid的EditTemplate中的控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆