2010-08-16 5 views
2

J'essaie d'utiliser une zone de liste déroulante dans un DataGrid, mais je rencontre un problème. Voici le code:Silverlight Combobox Problème

<sdk:DataGrid AutoGenerateColumns="False" Margin="6,71,6,0" Name="dgridDeptNums" Loaded="dgridDeptNums_Loaded" Height="226" VerticalAlignment="Top"> 
      <sdk:DataGrid.Columns> 
       <sdk:DataGridTemplateColumn Header="Speciality" Width="*"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <ComboBox SelectedValue="{Binding Department, Mode=TwoWay}"> 
           <ComboBox.Items> 
            <ComboBoxItem>Information Technology</ComboBoxItem> 
            <ComboBoxItem>Human Resources</ComboBoxItem> 
            <ComboBoxItem>Engineering</ComboBoxItem> 
           etc... 
           </ComboBox.Items> 
          </ComboBox> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
       <sdk:DataGridTextColumn Header="# of Supervisors" Binding="{Binding Providers, Mode=TwoWay}" Width="*"/> 
       <sdk:DataGridTextColumn Header="# of Managers" Binding="{Binding Midlevels, Mode=TwoWay}" Width="*"/> 
      </sdk:DataGrid.Columns> 
     </sdk:DataGrid> 

Le problème est que je veux DataBind le département, mais tout ce que je reçois est System.Windows.Controls.ComboBoxItem. Je suis sûr qu'il me manque quelque chose ici, donc toute aide est appréciée.

Wade

+0

De quel type est "ministère"? Est-ce une corde ou est-ce une classe de votre propre fabrication? Étant donné que vos éléments ne sont pas liés (seule la valeur sélectionnée est), vous essayez peut-être de sélectionner une valeur qui n'est pas du même type que votre liste d'éléments. – SirDemon

+0

@SirDemon Department fait partie d'une classe ou de ma propre création et c'est une chaîne. – Wade73

+0

alors vous devriez probablement essayer michael s scherotters répondre. – SirDemon

Répondre

3

au lieu de <ComboBoxItem>Information Technology</ComboBoxItem>

utilisation <sys:string>Information Technology</sys:string>

xmlns:sys="clr-namespace:System;assembly=mscorlib"

+0

Ai-je besoin de conserver cela dans la balise ? – Wade73

+0

C'était tout, merci! – Wade73

+0

"sys: string" devrait être "sys: String" (notez la majuscule) dans SL 4. – Aligned

Questions connexes