即使在绑定后,文本块也不会显示文本

本文关键字:文本 显示 绑定 | 更新日期: 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.....

其他一切似乎都还好。