问题标签 [data-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
20411 浏览

c# - WinForms ComboBox 数据绑定陷阱

假设您正在执行以下操作

所以现在我们有 2 个组合框绑定到该数组,一切正常。但是,当您更改一个组合框的值时,它会将两个组合框更改为您刚刚选择的那个。

现在,我知道数组总是通过引用传递(当我学习 C:D 时才知道),但是为什么组合框会一起改变呢?我根本不相信组合框控件正在修改集合。

作为一种解决方法,这不会实现预期/期望的功能

0 投票
4 回答
4442 浏览

c# - 任何非法跨线程操作异常的解决方案?

当您在 C# 中进行数据绑定时,更改数据的线程也会导致控件发生更改。但是如果这个线程不是创建控件的那个线程,你会得到一个非法跨线程操作异常。

有没有办法防止这种情况发生?

0 投票
6 回答
3792 浏览

wpf - WPF 数据绑定

谁能给我指出一个好的资源(或给我一个线索)来告诉我如何对 WPF 中的控件(组合框、列表框等)进行数据绑定?当我所有的 WinForms 优点都被拿走时,我有点不知所措,而且我一开始也不是那么聪明......

0 投票
3 回答
8130 浏览

c# - 对复合集合进行排序

因此 WPF 不支持 CompositeCollections 视图的标准排序或过滤行为,那么解决此问题的最佳实践是什么。

有两个或多个不同类型的对象集合。您希望将它们组合成一个可排序和可过滤的集合(必须手动实现排序或过滤)。

我考虑过的一种方法是创建一个只有几个核心属性的新对象集合,包括我希望对集合进行排序的那些,以及每种类型的对象实例。

然后循环遍历我的两个对象集合以构建新的复合集合。显然,这是一种蛮力方法,但它会起作用。我将在我的新复合对象集合上获得所有默认视图排序和过滤行为,并且我可以在其上放置一个数据模板以根据实际存储在该复合项目中的类型正确显示我的列表项。

以更优雅的方式执行此操作有什么建议?

0 投票
1 回答
3553 浏览

c# - WPF 中的变量绑定

我正在为丰富的 TreeView 创建一个 UserControl(具有用于重命名节点、添加子节点等的上下文菜单)。我希望能够使用此控件来管理或导航我将创建的任何分层数据结构。我目前让它适用于实现以下接口的任何数据结构(实际上不需要实现接口,但是,只需要这些成员的存在):

然后在我的 UserControl 中,我使用模板将我的树绑定到数据结构,如下所示:

我想做的是在我的 RichTreeView 中定义每个成员的名称,使其适应一系列不同的数据结构,如下所示:

有没有办法将 UserControl 内的绑定路径公开为该 UserControl 的公共属性?有没有其他方法可以解决这个问题?

0 投票
4 回答
8767 浏览

apache-flex - Flex:是否存在无痛的编程数据绑定?

到目前为止,我只做了一点 Flex 开发,但我更喜欢以编程方式创建控件而不是 mxml 文件的方法,因为(如果我错了,纠正我!)我已经收集到你可以'不能兼得——也就是说,在单独的 ActionScript 类文件中具有类功能,但在 mxml 中声明包含的元素。

在生产力方面似乎没有太大差异,但以编程方式进行数据绑定似乎并不简单。我看了一下 mxml 编译器如何转换数据绑定表达式。结果是一堆生成的回调和比 mxml 表示中更多的行。那么问题来了:有没有一种方法可以以编程方式进行数据绑定,而不会造成伤害?

0 投票
5 回答
4843 浏览

c# - 为什么不能将窗体的大小绑定到 ApplicationSettings?

更新:已解决,带有代码

我得到了它的工作,请参阅下面的代码答案...

原帖

正如 Tundey 在他对我最后一个问题的回答中指出的那样,您几乎可以毫不费力地将有关 Windows 窗体控件的所有内容绑定到 ApplicationSettings。那么表格大小真的没有办法做到这一点吗?本教程说您需要显式处理 Size 以便在窗口最大化或最小化时保存 RestoreBounds 而不是 size。但是,我希望我可以使用如下属性:

但我看不到在设计器中绑定它的方法(PropertyBinding 列表中明显缺少大小)。

0 投票
10 回答
5447 浏览

data-binding - 数据绑定是个坏主意吗?

我们工作中的另一个讨论(这些天我们已经有很多!)是数据绑定是否是一个坏主意。

就个人而言,我认为这是一件坏事™。

我的理由有三个:

  1. 它绕过了我架构良好的 MVP 框架——通过数据绑定,视图与模型进行双向通信。万维网。

  2. 它促进在设计时将视图控件连接到数据字段。以我的经验,这会导致重要代码(将列 A 绑定到字段 X)在某些设计器文件中变得模糊和隐藏。IMO 这段代码应该是明确的和直接的,这样就可以很容易地修改和查看发生了什么,而不必使用笨重的设计器界面。

  3. 与第 1 点相关,这种直接绑定使得隔离每个组件(视图、模型、控制器/演示器)和单元测试变得更加困难。

优点是它易于设置,并且您可以利用已经为您完成的管道附带的一些不错的功能(验证等)。

但对我来说,在处理以数据为中心的大型应用程序时,数据绑定变得更加困难。

有什么想法吗?

0 投票
3 回答
3220 浏览

c# - .NET - Excel ListObject 在数据绑定上自动调整大小

我正在使用 Visual Studio Tools for Office (2008) 开发 Excel 2007 加载项。我有一张上面有几个 ListObjects 的工作表,它们在启动时绑定到数据表。当它们被绑定时,它们会正确地自动调整大小。

当他们重新绑定时,问题就来了。我在功能区栏上有一个自定义按钮,它返回到数据库并根据用户输入的某些标准检索不同的信息。这个新数据返回并重新绑定到 ListObjects - 但是,这次它们没有调整大小,我得到一个异常:

ListObject 无法绑定,因为无法调整其大小以适合数据。ListObject 未能添加新行。这可能是由于无法将对象移动到列表对象下方而导致的。

内部异常:“Range 类的插入方法失败”
原因:Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject

我无法在 Google 或 MSDN 上找到有关此错误的任何非常有意义的内容。我一直试图弄清楚这一点,但无济于事。

基本代码结构:

请注意,即使在 ListObject 缩小时也会发生此异常,而不仅仅是在它增长时。

0 投票
6 回答
138787 浏览

.net - 图像 UriSource 和数据绑定

我正在尝试将自定义对象列表绑定到 WPF 图像,如下所示:

但它不起作用。这是我得到的错误:

“必须设置属性 'UriSource' 或属性 'StreamSource'。”

我错过了什么?