微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ListBox.ItemSource 访问绑定源有什么问题吗?

如何解决使用 ListBox.ItemSource 访问绑定源有什么问题吗?

在 C# 论坛中有很多关于从另一个类访问在一个类中创建的 UI 对象的讨论,但我发现了一种我认为是可行的简单方法,但以前从未见过这样做过。我有一个在 Page 中用 xaml 代码创建的 ListBox名称 =”listBox_Msgs”)。 ListBox 的源绑定到 ObservableCollection(string) 对象(请原谅此处使用括号,此问题的文本中未显示正确的括号),该对象在与初始化 Page 的类不同的类中创建,后者是“公共密封部分类 MainPage : Page”。但是,我想从 MainPage 方法向该集合添加一些文本,这些方法可以访问 ListBox 但不能访问该集合。我所做的是定义“ObservableCollection(string) listBoxSource;”在 MainPage 类中,然后在方法中设置“listBoxSource = (ObservableCollection(string) listBox_Msgs.ItemsSource;”。然后我可以使用“listBoxSource.Add(“add something”);”添加到集合中。这有效但是这样做有什么问题吗?总而言之,适用的代码如下所示:

xaml 代码(没有未在此问题的文本中显示的括号):

    "ListBox x:Name="listBox_Msgs" ItemsSource="{Binding DebugItemCollection}" Grid.Row="3" d:ItemsSource="Messages"/"

类 MainPage 中的代码

    ObservableCollection<string> listBoxSource;

                listBoxSource = (ObservableCollection<string>)listBox_Msgs.ItemsSource;
                listBoxSource.Add("message");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。