如何在Silverlight中获取DataGrid的EditTemplate中的控件 [英] how to get a control in the EditTemplate of DataGrid in silverlight
本文介绍了如何在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屋!
查看全文