即使在绑定后,文本块也不会显示文本
本文关键字:文本 显示 绑定 | 更新日期: 2023-09-27 18:33:36
我想在用户按下按钮后立即向ListBox添加文本列表。每个列表项都包含将数据绑定到TextBlock
。
但是TextBlock
没有显示文本!虽然我可以看到每个项目的背景颜色入!
<StackPanel>
<Button Content="CLICK" Click="Button_Click"></Button>
<ListBox x:Name="dataList" Foreground="Red" Background="Blue">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Feed}" FontSize="28"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
我的代码隐藏看起来像
public partial class MainPage : UserControl
{
ObservableCollection<Data> data;
public MainPage()
{
InitializeComponent();
data = new ObservableCollection<Data>();
dataList.ItemsSource = data;
}
class Data :INotifyPropertyChanged
{
public Data(String s)
{
Feed = s;
}
private string _feed;
public String Feed
{
get { return _feed; }
set { _feed = value; NotifyPropertyChanged("Feed"); }
}
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
data.Add(new Data("News1"));
data.Add(new Data("News2"));
data.Add(new Data("News2"));
}
}
谢谢。。
你的类Data
必须是公开的,否则默认情况下它将private
访问说明符。
所以应该是
public class Data.....
其他一切似乎都还好。