问题标签 [multibinding]
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 - 一个 ComboBox 选项可以绑定到两个不同的数据吗?
我不确定这是否可能。我已经创建了一个这样的组合框......
后面的代码会加载可用的选项...
以便正确显示 MyClass 中的所有项目。当用户做出选择时,MyClass 中的 Id 字段会按预期进行更新。伟大的。
这是我的问题:我的 testCatList 包含每一行的 Id 和 Description,我希望这两个字段都绑定到当前的 MyClass 实例。所以这就是我尝试过的:
在这里,我想将 MyClass.Id 设置为选定的 Id,并将 MyClass.Description 设置为选定的描述。如您所见,我已经删除了 SelectedValuePath,因为我不再需要 Id。但我不知道转换器使用什么(见上面的问号)。
任何想法,哦 StackOverflow 专家?谢谢。
wpf - 基于多个属性禁用按钮。我正在使用 MultiDataTrigger 和 MultiBinding
我把我能想出的最简单的例子放在下面来证明我的问题。我正在尝试根据 2 个条件中的 1 个启用按钮 1) Textbox1 可见且内容有效或 2) Textbox2 可见且内容有效
我似乎正在根据可见性启用按钮,但 IsValid 方面让我很伤心。
对于按钮,我引入了 MultiDataTrigger 和 MultiBinding 以及 MultiBinding Converter 方法来评估是否应该启用按钮。当我在编辑框之间切换(通过单击单选按钮)时调用该方法(称为 myConverter),但在编辑框中的数据有效、无效或两者之间转换时似乎不会被调用。很可能,我没有正确处理 Validation.HasError
我的具体问题:1)处理这个问题的正确模式是什么?有什么例子吗?我应该说我已经简化了问题。例如,验证可能不仅仅是“必须是八个字符”,并且可能涉及多个编辑框(如“地址”和“zip”或“地址”和“状态”。因此我想我可能需要MultiBinding Converter 的想法,但我对其他想法持开放态度!2)如何在我的 Converter 方法中处理 Validation.HasError?我将其视为 ReadOnlyCollection,这可能是完全错误的!3)我认为我的大部分问题是由于处理错误信息的许多选择。鉴于我正在使用 ValidationRules,我是否还应该从支持编辑字段的属性中抛出异常?他们会被召唤吗?你能推荐一篇文章来展示不同的验证方法吗?
我已将所有代码放在下面。如果有人可以快速浏览并指出我正确的方向,我将不胜感激。-戴夫 XAML 代码
C# 代码
wpf - 在 TextBox 中显示 ComboBox.SelectedValue
我正在研究 WPF 并且遇到了严重的问题。我有一个包含两列 ContactName 和 ContactTitle 的数据集。我已成功将所有数据加载到 ComboBox 中,甚至按 ContactName 对其进行排序。但是,我现在正尝试访问该数据并在 TextBox 中显示其中的一部分。(这当然只是一个概念验证类型的练习,最终产品将使用所选人员信息填充各种文本框)。问题是,我无法获取要填充到 TextBox 中的信息。这是我拥有的代码:
然后这是我的 XAML:
我的最终目标是通过获取所选值来动态填充 TextBox,并获取与该 CustomerID 关联的数据集中的信息,但仅将 SelectedItem 的文本填充到 TextBox 中将是一大步。
任何帮助是极大的赞赏。谢谢大家。
wpf - 为什么 MultiBinding 不适用于 CornerRadius
如果我使用IValueConverter
它可以工作,而IMultiValueConverter
返回相同的值却不能,这是为什么呢?
多重绑定会引发此错误:
BindingExpression 产生的值对目标属性无效。值='15'
microsoft-metro - Metro UI 多绑定?
Metro UI 不支持多重绑定吗?还是只是还没有添加?
wpf - Datagrid SelectedItem 多重绑定
我需要将数据网格中 SelectedItem 的值绑定到:
同一页面上组合框的 SelectedItem
视图模型中的属性
换句话说:当我在数据网格中选择一行时,组合框中的值应该改变,并且上述属性的值也应该设置为数据网格的选定项的值。
我尝试像这样使用多重绑定:
这里的 SelectedSap 是我要更新的属性。但是当我查看转换器中的 values() 时,与 SelectedSap 对应的 value(0) 始终为 Nothing,因此该属性不会按我的意愿更改。与组合的绑定工作正常。
我尝试在没有多重绑定的情况下对其进行测试。我的意思是,我不关心组合,我只是改变财产的价值。像这样:
一切正常。诀窍在哪里,我应该如何实现我需要的功能?谢谢你。
wpf - 具有组合框控件的 multiBinding 转换器参数的正确路径参考
有了围绕控件的所有样式信息,以及嵌套的内容、控件模板和触发器,我试图弄清楚以下内容。
采用组合框控件。它有一个用于切换按钮组件的控制模板,该模板以标准显示(非下拉模式)显示正常显示,显示显示值和切换按钮以激活下拉菜单。
然后,您拥有使用上面切换按钮模板的主组合框控件
因此,我试图根据 MultiBinding 转换器的结果最终更改“ShowDisplayValueArea”的背景颜色。如果我将多绑定转换器放在 toggleButton 控件模板区域中,例如..
值对象数组中的第一个“值”正确地传递了切换按钮控件模板的实例。整个对象引用,而不仅仅是名称。
所以,我如何告诉 Binding 参数传递切换按钮来自的实际组合框(即:切换按钮的父级),所以我得到了作为参数传递的实际整个组合框控件。
wpf - WPF:将 Grid.Visibility OneWay 绑定到依赖项属性,将 OneWayToSource 绑定到视图模型 CLR 属性
我有一个Grid,Visibility属性绑定到父Expander控件的IsExpanded 。
每当Grid.Visibility更改时,我希望DataContext (视图模型)上的属性( MyProperty )相应地更改。
这是我的 XAML:
我尝试使用以下方式以编程方式在视图构造函数中设置绑定:
但是,这只是替换了与已在 XAML 中设置的Expander的绑定。
我考虑过翻转它,以便目标是我的视图模型,而源是网格(绑定到Visibility)并将MyProperty变成依赖属性。但是,我的视图模型不是DependencyObject,所以我不能这样做。
我尝试使用MultiBinding / MultiConverter将Grid.Visibility绑定到Expander.IsExpanded和MyProperty,但这并没有达到预期的效果。当Grid.Visibility由于Expander.IsExpanded更改而更新时, MyProperty不会更改为Grid.Visibility。
唯一可行的选择是在Grid上使用绑定到Expander.IsExpanded的附加属性,然后在附加属性更改时使用回调函数以编程方式更改Grid.Visibility。Grid.Visibility然后绑定到MyProperty。这似乎是一种混乱的方式,但我愿意接受建议。
我想我想要做的几乎就像一个双管齐下的绑定,其中两个绑定方向相反,一个来自依赖属性,另一个来自CLR 属性。
感谢您提供的任何帮助!
wpf - MultiBinding StringFormat 逻辑:不打印分隔符
鉴于此 XAML ...
如果名字或姓氏是NullOrEmpty ,我将如何不打印','分隔符?
谢谢!
wpf - 指定 ImageSource 时 MultiBinding 与 Binding 的特殊行为
使用转换器绑定到 的Source
属性时,我遇到了一种特殊行为。Image
看来,如果我使用一个简单Binding
的 aIValueConverter
返回与图像的相对路径相对应的字符串,则一切正常并显示图像。
另一方面,如果我将 aMultiBinding
与 aIMultiValueConverter
返回相同的字符串一起使用,则绑定不起作用,并且此错误消息将显示在 VS2010 输出窗口中:
System.Windows.Data 错误:5:BindingExpression 生成的值对目标属性无效。;Value='' MultiBindingExpression:目标元素是'Image' (Name=''); 目标属性是“源”(类型“ImageSource”)
我发现要让它起作用,我不能返回一个简单的字符串(甚至不能返回一个Uri
)。相反,我必须在我的转换器中创建一个 ImageSource (BitmapImage
实际上是 a )并返回它。
你知道为什么会发生这种奇怪的行为吗?Binding
这是and之间的已知区别MultiBinding
,还是一个错误?
我发现了另一个可能与此相关的 stackoverflow 主题,Alvin 在其中发表了关于解决绑定时间的评论:
我认为 MultiBinding 是在 TextBlock 渲染之后进行的,并且在 TextBlok 渲染之前进行(单个)Binding – Avlin
为了说明这个问题,我写了一个可以下载和测试的小项目。
感谢您的任何见解!