使用 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 (将#修改为@)