C#不'中的列表框;我没有出现
我的代码中已经有一个列表框,现在我添加了一个新的列表框:C#不'中的列表框;我没有出现,c#,wpf,listbox,C#,Wpf,Listbox,我的代码中已经有一个列表框,现在我添加了一个新的列表框: <ListBox x:Name="Diaryresult" Foreground="Black" Margin="19,0,0,8"> <ListBox.ItemTemplate> <Dat
<ListBox x:Name="Diaryresult"
Foreground="Black"
Margin="19,0,0,8">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Binding {name}"
FontSize="24" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我正在使用以下代码填充此列表:
XElement diary = XElement.Parse(e.Result);
IEnumerable<XElement> diaryelements = diary.Elements("diaryelement");
List<Produkt> diaryprodukte = new List<Produkt>();
foreach (XElement diaryelement in diaryelements)
{
Produkt p = new Produkt();
p.name = diaryelement.Element("diaryshortitem").Element("description").Element("name").Value;
p.shortfacts = diaryelement.Element("diaryshortitem").Element("data").Element("kj").Value + " KJ - "
+ diaryelement.Element("diaryshortitem").Element("data").Element("kcal").Value + "kcal";
diary.Add(p);
Debug.WriteLine("Added "+p.name);
}
Diaryresult.ItemsSource = diaryprodukte;
Diaryresult.Visibility = System.Windows.Visibility.Visible;
XElement日记=XElement.Parse(e.Result);
IEnumerable diaryelements=diary.Elements(“diaryelement”);
List diaryprodukte=新列表();
foreach(重元素中的XElement重元素)
{
Produkt p=新的Produkt();
p、 name=diaryelement.Element(“diaryshortitem”).Element(“description”).Element(“name”).Value;
p、 shortfacts=diaryelement.Element(“diaryshortitem”).Element(“数据”).Element(“kj”).Value+“kj-”
+日记元素。元素(“日记短项”)。元素(“数据”)。元素(“kcal”)。值+“kcal”;
添加(p);
Debug.WriteLine(“添加”+p.name);
}
Diaryresult.ItemsSource=diaryprodukte;
Diaryresult.Visibility=System.Windows.Visibility.Visible;
但是,它没有出现。有人看到窍门了吗?您的绑定标签不正确。“Binding{Name}”对XAML没有任何意义。{Binding Name}是指上下文的属性名,这是您正在尝试执行的操作 替换:
<TextBlock Text="Binding {name}" FontSize="24" />
并且,记住在完成后调用()以便将更改通知UI线程。我的意思是,您使用的是
Diaryresult.Visibility=System.Windows.Visibility.Visibility
这是您通知UI的方式吗?您使用的是MVVM还是CodeBehind?您的绑定标记不正确。“Binding{Name}”对XAML没有任何意义。{Binding Name}是指上下文的属性名,这是您正在尝试执行的操作
替换:
<TextBlock Text="Binding {name}" FontSize="24" />
并且,记住在完成后调用()以便将更改通知UI线程。我的意思是,您使用的是
Diaryresult.Visibility=System.Windows.Visibility.Visibility
这是您通知用户界面的方式吗?您使用的是MVVM还是CodeBehind?看起来您并不是在将产品添加到dairyprodukte。绑定dairyprodukte时,它仍然是一个空列表
试一试
看起来您并没有将产品添加到dairyprodukte。绑定dairyprodukte时,它仍然是一个空列表 试一试
我想这是XAML,不是WebForms我想这是XAML,不是WebForms
dairyprodukt.Add(p);
foreach (XElement diaryelement in diaryelements)
{
Produkt p = new Produkt();
p.name = diaryelement.Element("diaryshortitem").Element("description").Element("name").Value;
p.shortfacts = diaryelement.Element("diaryshortitem").Element("data").Element("kj").Value + " KJ - "
+ diaryelement.Element("diaryshortitem").Element("data").Element("kcal").Value + "kcal";
diary.Add(p);
Debug.WriteLine("Added "+p.name);
diaryprodukte.Add(p);
}