2010-04-21 4 views
2

Я хочу отобразить выпадающее меню в datagrid с разными значениями, которые пользователь может выбрать. Каким-то образом я не могу отображать ComboBox, вместо этого он просто отображает значение, как если бы это был обычный TextColumn. Ниже мой код,WPF DataGrid Combobox

<StackPanel Grid.Row="0"> 
      <toolkit:DataGrid Name="definitionGrid" Margin="0,10,0,0" AutoGenerateColumns="False" 
               CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" 
               RowHeight="25" FontWeight="Normal" ItemsSource="{Binding Profile}" 
               SelectionMode="Single" ScrollViewer.HorizontalScrollBarVisibility="Auto" Width="450" 
           ScrollViewer.VerticalScrollBarVisibility="Auto" Height="200"> 
       <toolkit:DataGrid.Columns> 
        <toolkit:DataGridTextColumn Header="Name" Width="80" Binding="{Binding Name}" CellStyle="{StaticResource cellCenterAlign}"/> 
        <toolkit:DataGridComboBoxColumn Header="Gender" Width="220" SelectedItemBinding="{Binding Gender}" ItemsSource="{Binding Source={StaticResource GenderValues}}" CellStyle="{StaticResource cellCenterAlign}"/> 
        <toolkit:DataGridCheckBoxColumn Header="Email" Width="60" Binding="{Binding ReceivesEmail}" CellStyle="{StaticResource cellCenterAlign}"/> 
        <toolkit:DataGridTextColumn Header="Others" Width="80" CellStyle="{StaticResource cellCenterAlign}"/> 
       </toolkit:DataGrid.Columns> 
      </toolkit:DataGrid> 
     </StackPanel> 

ответ

3

DataGridComboBoxColumn только отображает ComboBox, если он находится в режиме редактирования; иначе он отображается как обычный DataGridTextColumn. Если вы хотите отобразить ComboBox, вы можете определить DataGridTemplateColumn:

<DataGridTemplateColumn Header="Gender"> 
        <DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <ComboBox Width="220" SelectedItem="{Binding Gender}" ItemsSource="{Binding Source={StaticResource GenderValues}}" /> 
         </DataTemplate> 
        </DataGridTemplateColumn.CellTemplate> 
       </DataGridTemplateColumn> 
Смежные вопросы