'C'WPF 프로젝트의 ComboBox에 'Name'문자열과 'Double'Weight '속성이있는'Envelope '항목 목록에 바인딩 된 TextBlock이 있습니다. , 나는 TextBlock에 표시하고 싶습니다.ComboBox의 TextBlock에 바인딩 된 문자열이 표시되지 않습니다.
내 프로그램을 실행하면 ComboBox에 아무 텍스트도 표시되지 않습니다. 제대로 세 개의 레이블이없는 항목이 있으며 ComboBox의 ItemsSource 또는 SelectedItem을 보면 적절한 값이 표시되고 ComboBox의 SelectedItem과 상호 작용하는 다른 코드가 제대로 작동합니다. 유일하게 작동하지 않는 것은 TextBlock에 텍스트가 없다는 것입니다. "{Binding Name}"
을 "au ghdfjlnvgmumar"
으로 바꾸면 ComboBox에 잘못된 문자가 표시되어 바인딩에 문제가있는 것입니다. 무엇이 문제이며 어떻게 해결할 수 있습니까?
관련 코드 :
는 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;
}
}
감사합니다. 가능한 한 수락 할 것입니다. –