gpt4 book ai didi

wpf - 将 ObservableCollection 绑定(bind)到 WPF ListBox

转载 作者:行者123 更新时间:2023-12-02 00:21:47 25 4
gpt4 key购买 nike

我有以下代码隐藏:

    public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

ObservableCollection<int> sampleData = new ObservableCollection<int>();
public ObservableCollection<int> SampleData
{
get
{
if (sampleData.Count <= 0)
{
sampleData.Add(1);
sampleData.Add(2);
sampleData.Add(3);
sampleData.Add(4);
}
return sampleData;
}
}
}

我的xaml是:

<Window x:Class="Sandbox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox ItemsSource="{Binding Path=SampleData}"/>
</Grid>
</Window>

列表不显示集合中的值(或任何内容)。有人可以指出我的错误是什么吗?

我需要显式设置 DataContext 吗?我认为如果没有设置,控件将仅使用自身作为 DataContext。

最佳答案

是的,您需要以某种方式设置 DataContext。它没有 DataContext,因为除非设置,否则 Window 没有 DataContext。如果您在构造函数中执行此操作,ListBox 将获取 DataContext。

public MainWindow() 
{
InitializeComponent();
this.DataContext = this;
}

否则你可以在绑定(bind)中使用RelativeSource、ElementName等,但我想你知道=)

关于wpf - 将 ObservableCollection 绑定(bind)到 WPF ListBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4138992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com