列表框不显示数据
本文关键字:数据 显示 列表 | 更新日期: 2023-09-27 18:16:42
这是我的列表框的XAML
<ListBox Height="100" Margin="12,12,8,0" Name="CategoriesList" VerticalAlignment="Top">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBox Text="{Binding Id}" Visibility="Collapsed" />
<TextBox Text="{Binding Title}" FontSize="40" IsReadOnly="True"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这是我的类
public class Categories
{
string Id { get; set; }
string Title { get; set; }
public Categories() { }
public Categories(string value, string text)
{
this.Id = value;
this.Title = text;
}
}
下面是带有虚拟数据的赋值代码
List<Categories> categoriesList = new List<Categories>();
categoriesList.Add(new Categories("1", "One"));
categoriesList.Add(new Categories("2", "Two"));
categoriesList.Add(new Categories("3", "Three"));
categoriesList.Add(new Categories("4", "Four"));
categoriesList.Add(new Categories("5", "Five"));
CategoriesList.ItemsSource = categoriesList;
列表是空白的,但项目是5,这意味着标题不显示…你能帮我一下吗
正如@Ku6opr所言,将变量设为公共使列表运行…多亏了他
public class Categories
{
public string Id { get; set; }
public string Title { get; set; }
public Categories() { }
public Categories(string value, string text)
{
this.Id = value;
this.Title = text;
}
}
您需要设置/绑定ListBox
的ItemSource
属性到一个公共类别列表,如下所示ItemSource = {Binding categoreslist}
由此判断(无论它在哪里):
List<Categories> categoriesList = new List<Categories>();
categoriesList.Add(new Categories("1", "One"));
categoriesList.Add(new Categories("2", "Two"));
categoriesList.Add(new Categories("3", "Three"));
categoriesList.Add(new Categories("4", "Four"));
categoriesList.Add(new Categories("5", "Five"));
CategoriesList.ItemsSource = categoriesList;
你正在使用一个本地声明的List变量。
同样,如果你打算以任何方式改变列表内容,那么如果你的Categories
列表是ObservableCollection
,你会发现事情更容易。