Probleme affichage comboBox dans un listView
Bonjour,
J'utilise VS2008 - C#
J'ai creé un listView avec 2 colonnes
La première colonne est un Combobox et le 2ème est un TextBox.
Dans la première colonne je dois sélectionner un produit dans une liste déroulante. Dans la 2eme colonne j'aimerai vouloir éditer dans le textBox.
Mon code ne marche pas. Je n'arrive pas afficher le contenu des colonnes. Il m'affiche que les headers.
Voici mon code :
Côté xaml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
<UserControl.Resources>
<ResourceDictionary>
<ObjectDataProvider x:Key="odpClasseProduit"/>
<ObjectDataProvider x:Key="odpProduit"/>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Border Height="28" Name="menu" VerticalAlignment="Top" BorderThickness="1" />
<ListView Name="lvProduit" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Source={StaticResource odpClasseProduit}}" Margin="0,26,0,0">
<ListView.Resources>
<DataTemplate x:Key="comboProduit">
<ComboBox Width="Auto" Height="Auto" ItemsSource="{Binding Source={StaticResource odpProduit}}" DisplayMemberPath="LibelleProduit"/>
</DataTemplate>
<DataTemplate x:Key="quantite">
<TextBox BorderThickness="1" Width="Auto" Height="Auto" />
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Produits" Width="190" CellTemplate="{StaticResource comboProduit}"/>
<GridViewColumn Header="Quantite" Width="190" CellTemplate="{StaticResource quantite}"/>
</GridView>
</ListView.View>
</ListView>
</Grid> |
Code behind:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
public partial class ClasseProduitControl : UserControl
{
#region Membres
private ObjectDataProvider odpClasseProduit = null;
private ObjectDataProvider odpProduit = null;
private ObservableCollection<string> libelleProduit = null;
#endregion
public ObservableCollection<string> LibelleProduit
{
get { return libelleProduit; }
set { libelleProduit = value; }
}
public ClasseProduitControl()
{
InitializeComponent();
libelleProduit = new ObservableCollection<string>();
libelleProduit.Add("produit1");
libelleProduit.Add("produit2");
odpClasseProduit = (ObjectDataProvider)this.FindResource("odpClasseProduit");
odpProduit = (ObjectDataProvider)this.FindResource("odpProduit");
if (odpProduit != null)
{
odpProduit.ObjectInstance = LibelleProduit;
}
}
} |
J'aimerais que mon combobox s'affiche et que je vais pouvoir éditer dans le TextBox.
Aidez-moi svp
Merci