J'ai un TextBlock dans un ComboBox dans un projet C# WPF lié à une liste d'éléments 'Enveloppe', qui ont une chaîne 'Nom' et une double propriété 'Poids' , dont je voudrais voir le premier dans le TextBlock.chaîne liée à TextBlock dans ComboBox ne s'affiche pas
Lorsque j'exécute mon programme, le ComboBox apparaît sans aucun texte. Il a correctement trois éléments non étiquetés, et si je vois le ItemsSource ou SelectedItem du ComboBox ils montrent les valeurs appropriées, et tout autre code qui interagit avec le SelectedItem du ComboBox se comporte correctement. La seule chose qui ne fonctionne pas est que le TextBlock ne contient aucun texte. Si je remplace le "{Binding Name}"
par "au ghdfjlnvgmumar"
alors les caractères brouillés appropriés apparaissent dans le ComboBox, donc c'est définitivement un problème avec la liaison. Quel est le problème et comment puis-je le contourner?
Code pertinent:
XAML:
<ComboBox Name="EnvelopeList" HorizontalAlignment="Center" Width="200" >
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
C#:
//main window code
public MainWindow()
{
InitializeComponent();
envelopes = new List<Envelope>();
envelopes.Add(new Envelope("TEST", 0));
envelopes.Add(new Envelope("HI", 10));
EnvelopeList.ItemsSource = envelopes;
}
//Envelope class
class Envelope
{
public string Name;
public double Weight;
public Envelope()
{
Name = "[None]";
Weight = 0;
}
public Envelope(string n, double w)
{
Name = n;
Weight = w;
}
public override string ToString()
{
return Name;
}
}
Merci. Acceptera une fois que je peux. –