silverlight之How To:设置ComboBox控件的数据源当ComboBox用来作为DataGrid的某列的编辑控件时...
DataGrid是個可編輯的列表控件,而且可以用已有的輸入控件來作為某一列的編輯控件,比如用ComboBox控件來作為某列的編輯控件供用戶選擇數(shù)據(jù),這個時候就要先設(shè)置好ComboBox控件的下拉列表項了,在silverlight里怎么做呢?
首先,定義好XAML,如下:
?
<data:DataGrid Grid.Row="0" x:Name="gridVariables" RowHeight="20" AutoGenerateColumns="False" BorderThickness="1,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>
其次,需要定義一個類并由該類的一個屬性來提高選項數(shù)據(jù)來源,如下:
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里的列數(shù)據(jù),而且我們也可獲得一個經(jīng)驗,那就是用戶控件的資源是個很強大的東西,可以用來引用靜態(tài)的東西(圖片,樣式等),也可以引用動態(tài)的東西(代碼,類)。
轉(zhuǎn)載于:https://www.cnblogs.com/lifuyun/archive/2009/09/18/lifuyun09091804.html
總結(jié)
以上是生活随笔為你收集整理的silverlight之How To:设置ComboBox控件的数据源当ComboBox用来作为DataGrid的某列的编辑控件时...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想听日语请按1 这是什么歌?
- 下一篇: “誓志居岩扃”上一句是什么