silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight之How To:设置ComboBox控件的数据源当ComboBox用来作为DataGrid的某列的编辑控件时,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
DataGrid是个可编辑的列表控件,而且可以用已有的输入控件来作为某一列的编辑控件,比如用ComboBox控件来作为某列的编辑控件供用户选择数据,这个时候就要先设置好ComboBox控件的下拉列表项了,在silverlight里怎么做呢? 首先,定义好XAML,如下: <data:DataGrid Grid.Row=
"0" x:Name="gridVariables"
rowHeight="
DataGrid是个可编辑的列表控件,而且可以用已有的输入控件来作为某一列的编辑控件,比如用ComboBox控件来作为某列的编辑控件供用户选择数据,这个时候就要先设置好ComboBox控件的下拉列表项了,在silverlight里怎么做呢?
首先,定义好XAML,如下:
-
<data:DataGrid Grid.Row="0" x:Name="gridVariables" RowHeight="20" AutoGeneratecolumns="false" BorderThickness="1,1,1">
-
<data:DataGrid.columns>
-
<data:DataGridTemplatecolumn Header="类型" Width="120">
-
<data:DataGridTemplatecolumn.CellTemplate>
-
<DataTemplate>
-
<TextBlock Text="{Binding TypE}"/>
-
</DataTemplate>
-
</data:DataGridTemplatecolumn.CellTemplate>
-
<data:DataGridTemplatecolumn.CellEdiTingTemplate>
-
<DataTemplate>
-
<ComboBox >
-
</ComboBox>
-
</DataTemplate>
-
</data:DataGridTemplatecolumn.CellEdiTingTemplate>
-
</data:DataGridTemplatecolumn>
-
</data:DataGrid.columns>
-
</data:DataGrid>
其次,需要定义一个类并由该类的一个属性来提高选项数据来源,如下:
-
public class WorkflowVariableTypes
- {
-
public List<WorkflowVariableType> WorkflowVariableTypeList
- {
-
get
- {
-
List<WorkflowVariableType> types = new List<WorkflowVariableType>();
-
for (int i = 0; i < 14; i++)
- {
-
types.Add(new WorkflowVariableType {Type = (VariableTypE)i });
- }
-
return types;
- }
- }
- }
然后,我们就可以通过用户控件资源的方式声明该类的一个实例,如下:
-
<UserControl.resources>
-
<local:WorkflowVariableTypes x:Key="workflowVariableTypes" />
-
</UserControl.resources>
最后,就是使用该资源了,如下:
-
<data:DataGridTemplatecolumn.CellEdiTingTemplate>
-
<DataTemplate>
-
<ComboBox Itemssource="{Binding WorkflowVariableTypeList, source={Staticresource workflowVariableTypes}}">
-
</ComboBox>
-
</DataTemplate>
-
</data:DataGridTemplatecolumn.CellEdiTingTemplate>
这个过程有些类似格式化DataGrid里的列数据,而且我们也可获得一个经验,那就是用户控件的资源是个很强大的东西,可以用来引用静态的东西(图片,样式等),也可以引用动态的东西(代码,类)。
@H_
674_549@