c# - c# / UWP 我可以将组合框绑定到可观察集合中的某个“列”吗
问题描述
我想将我的组合框绑定到可观察集合中的“列”。
private ObservableCollection<IUList> _ius = new ObservableCollection<IUList>();
public ObservableCollection<IUList> IUs
{
get
{
return _ius;
}
set
{
_ius = value;
RaisePropertyChanged("IUs");
}
}
public class IUList
{
public string Identifier { get; set; }
public string SourceTrackNumber { get; set; }
public string TrackBlockStart { get; set; }
public string TrackBlockEnd { get; set; }
public IUList(string id, string stn, string tbs, string tbe)
{
this.Identifier = id;
this.SourceTrackNumber = stn;
this.TrackBlockStart = tbs;
this.TrackBlockEnd = tbe;
}
}
我希望我的组合框填充我可观察集合中的所有“标识符”。我只是不太清楚如何做到这一点。任何帮助表示赞赏。
c# / UWP 我可以将组合框绑定到可观察集合中的某个“列”吗
解决方案
是的,这可以在 uwp/wpf 中使用数据绑定轻松完成。但是您必须仔细阅读 ItemTemplate 代码。
您可以像这样编写 xaml 代码:
<ComboBox x:Name="comboBox">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Identifier}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
然后在 .cs 代码中
//Add data
IUList list1 = new IUList("1", "1", "1", "1");
IUList list11 = new IUList("11", "1", "1", "1");
IUList list111 = new IUList("1111", "1", "1", "1");
IUList list1111 = new IUList("11111", "1", "1", "1");
ObservableCollection<IUList> ius = new ObservableCollection<IUList>();
ius.Add(list1); ius.Add(list11); ius.Add(list111); ius.Add(list1111);
//Bind source
comboBox.ItemsSource = ius;
完毕!然后你会看到
推荐阅读
- flutter - 在 Flutter 升级 2.2.0 后,包含 Textfield 的 ShowModalBottomSheet 被键盘隐藏
- django - 如何在 Python 独立脚本中使用 HSET 将数据从 Django 模型写入 Redis DB?
- html - 使用 :hover, :focus 更改悬停类之外的另一个 css
- excel - 将 Excel 文本框内容复制到 Word 文档中
- iis - 当部分 url 正确时,web.config 文件正在呈现页面
- autocad - 当一个整体缩放时,我可以将材料比例保存在块中吗?
- expo - Expo + React Navigation + Vercel:深度链接不起作用
- javascript - 有没有办法通过 jQuery 或 JS 中的滑块或轮播显示 JSON 数据?
- angular - rxjs 是否提供了解决去抖动缓冲区实现的更好方法
- c++ - 在这种情况下,使用 const char* 或 std::string 更有效的是什么