【问题标题】:How to create Listbox dynamically wpf如何动态创建列表框wpf
【发布时间】:2010-07-12 04:11:57
【问题描述】:

我想动态创建列表框 [codebehind c#]。它的数据源是类对象。

class sample
{
  string filepath;
  string id;
  string trackName;
}

需求:

  1. 将 trackName 显示为列表框中的列表框项 [动态]。

代码:

sample samp=GetBL.GetValue();
ListBox lbTrack = new ListBox();
StackPanel sp = new StackPanel();
lbTrack.ItemSource = samp;

吉萨。

【问题讨论】:

    标签: wpf dynamic listbox datacontext


    【解决方案1】:

    创建一个将ObservableCollection<sample> 公开为名为@9​​87654322@ 的属性的类。创建这个类的一个实例,填充它的集合,然后将这个类添加到窗口的资源字典中,例如,Data。覆盖sample 类中的ToString(),使其返回您希望在ListBox 中出现的内容。

    然后这样做:

    <ListBox ItemsSource="{StaticResource Data, Path=Samples}"/>
    

    不覆盖ToString(),您可以指定显示绑定:

    <ListBox ItemSource="{StaticResource Data, Path=Samples}" 
             DisplayMemberBinding="{Binding Path=trackName"/>
    

    请注意,trackName 必须是属性,而不是字段。

    您会注意到我不是以编程方式创建 WPF 控件,而是使用数据绑定来为我完成。这是 WPF 应用程序开发的基本概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2016-12-21
      相关资源
      最近更新 更多