问题标签 [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.
wpf - 如何对 ColumnDefinition 的 Width 或 RowDefinition 的 Height 进行数据绑定?
在 WPF 的 View-Model-ViewModel 模式下,我试图对网格控件的各种定义的高度和宽度进行数据绑定,以便在使用 GridSplitter 后存储用户设置的值。但是,正常模式似乎不适用于这些特定属性。
注意:我将此作为参考问题发布,因为谷歌让我失望了,我不得不自己解决这个问题。我自己的答案要遵循。
c# - C# ResetBinding 翻转 DataGridView *用示例更新*
我遇到了一个部分解决的问题。快速解释一下:我有一个绑定到需要序列化的复杂对象的网格。从序列化中构建对象时,网格上的事件不会刷新表格显示。有人告诉我在反序列化后重建事件,它可以工作!但是刷新网格的事件似乎根本没有触发。
我必须从我的复杂对象构建一个事件,告诉我内部发生了一些变化。从这个事件我添加了这个代码:
问题是网格在翻转,用户感觉不好(行上下移动而不是停止)。
如何在没有这种翻转的情况下重置绑定?我怎样才能解决原来的问题?(这将自动解决所有问题)。
更新
这是一个执行完全相同行为的示例:
创建一个类:
现在,使用 BindingSource 调用“bindingSource1”创建一个表单,并使用该类作为数据源。创建一个网格并将该网格绑定到 bindingsource1。
在该表单中,在 load 中使用此代码:
我将序列化过程放在注释中,因为如果没有它,它似乎会出现同样奇怪的行为......现在启动应用程序。更改客户的名称。“新名称”的示例“p1”,然后单击已更改名称下的单元格。您将看到“len”列没有改变。但是,如果您单击具有 len 的单元格,您将看到数字变为正确的值。
有人知道为什么吗?
wpf - 依赖属性和数据绑定?
在 WPF 中:
有人可以解释一下 DependencyProperty 和 Databinding 之间的关系吗?
我的代码中有一个属性,我想成为我的数据绑定的来源。如果我想将此对象绑定到 XAML 上的文本框,那么 DependencyProperty(或它)何时发挥作用。
.net - 松散 XAML 的限制是什么?
我一直在试验 WPF 并在 Web 浏览器中呈现严格的 XAML 标记,也称为松散 XAML(在此处和此处进行解释)。
我觉得它对显示静态内容最有用。但是,似乎也可以绑定到 XML 数据提供者。
松散的 XAML 文件不使用应用程序编译,这会产生以下限制:
- 他们不允许外部程序集
- 不使用类、代码隐藏(或任何 C#)
- 没有双向数据绑定
还有哪些额外限制?
- 我还没有找到一种将数据绑定到数据库提供程序(SQL Server)的方法
- 客户端计算机上是否需要 .NET Framework 才能在浏览器中呈现 XAML?
- 搜索引擎是否能够询问 Loose XAML 以适当地对页面进行排名?
编辑:我试图将 XML 数据提供程序绑定到 Web 服务(使用这个简单的示例)并且没有成功。这些发现使我进一步研究,发现不支持:“XMLDataProvider 被设计为只读的(换句话说,它不提供提交更改的能力),并且它不能处理可能来自其他来源(如数据库记录、Web 服务消息等)的 XML 数据。” -Matthew MacDonald,专业 WPF
.net - 将 Grid 用作 ItemsPanelTemplate 的 ListBox 会产生奇怪的绑定错误
我有一个 ListBox 控件,并且在网格布局中呈现固定数量的 ListBoxItem 对象。所以我将我的 ItemsPanelTemplate 设置为网格。
我正在从后面的代码访问 Grid 以配置 RowDefinitions 和 ColumnDefinitions。
到目前为止,一切都按我的预期工作。我有一些自定义的 IValueConverter 实现,用于返回每个 ListBoxItem 应该出现的 Grid.Row 和 Grid.Column。
但是有时我会遇到奇怪的绑定错误,我无法弄清楚它们发生的确切原因,或者即使它们在我的代码中。
这是我得到的错误:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=HorizontalContentAlignment; DataItem=null; target element is 'ListBoxItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment')
任何人都可以解释发生了什么吗?
哦,这是我的 XAML:
.net - 如何在 Windows 工作流中的活动之间传递数据?
我不完全确定我理解做事的工作流程方式,但如果它是一个管道 n 过滤器样式模型,我应该能够将数据(甚至字符串)从一个活动传递到另一个活动。
有谁知道如何做到这一点?视频加分!
我希望这是可能的。如果WF与我的想法相同,那将非常有用。
c# - WPF 绑定到对象的集合,按 C# 中另一个集合中按顺序存储的 ID 排序
对于那些喜欢谜题的人:我最近遇到了这个问题,相信一定有更好的解决方案。
考虑 :
- Foo对象的 ObservableCollection称为foos。
- Foo包含一个字符串 ID 字段
- 我无法控制foos
- foos会改变
然后:
- 我有另一个名为sortLikeThis的集合
- sortListThis包含字符串
- 字符串是按照foo显示顺序的 ID
加:
- foos中可能有ID 不在sortLikeThis中的对象。这些需要放在最后。
- 同样, sortLikeThis中可能有一些字符串不会出现在foos中。
有没有一种很好的方法可以按照 sortLikeThis 中的 ID 定义的顺序绑定到 foos 中的 Foo 对象并在wpf中显示这些对象?
.net - INotifyPropertyChanging 和验证:我什么时候提出 PropertyChanging?
INotifyPropertyChanged 是相当不言自明的,我想我很清楚何时提高那个(即当我完成更新值时)。
如果我实现 INotifyPropertyChanging,我倾向于在进入更改对象状态的设置器或其他方法后立即引发事件,然后继续进行可能发生的任何防护和验证。
因此,我将此事件视为属性可能更改但尚未更改的通知,并且可能实际上并未成功完成更改。
如果对象的使用者正在使用此属性(例如,假设 LINQ to SQL 使用事件进行更改跟踪),我是否应该推迟并仅在我确认我得到的值是好的并且只引发事件时对象的状态是否对更改有效?
此事件的合同是什么,订阅者会有什么副作用?
asp.net - 如何在 EditItemTemplate 字段的 GridView 中绑定 DropDownList?
这是我在运行时绑定的gridview中的代码:
我想绑定下拉列表“ddgvOpp”,但我不知道如何。我应该,但我没有。这是我所拥有的,但我不断收到“对象引用”错误,这是有道理的:
BindOpponentDD()
填充 DropDownList 的位置在哪里。我不是在正确的事件中这样做吗?如果没有,我需要把它放在哪个?
提前非常感谢...
c# - WPF 数据绑定和 IValueConverter
为什么当我在 WPF 中的绑定表达式中使用转换器时,更新数据时值不会更新。
我有一个简单的 Person 数据模型:
我的绑定表达式如下所示:
我的转换器如下所示:
如果我在没有转换器的情况下绑定数据,效果很好:
我错过了什么?
编辑:为了澄清一些事情,Joel 和 Alan 对于需要实现的 INotifyPropertyChanged 接口都是正确的。实际上我确实实现了它,但它仍然不起作用。
我不能使用多个 TextBlock 元素,因为我正在尝试将 Window Title 绑定到全名,并且 Window Title 不采用模板。
最后,添加复合属性“FullName”并绑定到它是一个选项,但我仍然想知道为什么当绑定使用转换器时不会发生更新。即使我在转换器代码中放置了一个断点,当对基础数据进行更新时,调试器也不会到达那里:-(
谢谢,乌里