问题标签 [updatesourcetrigger]
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 - Wpf:更改后文本块不更新
我有使用 MVVM 的 Wpf 应用程序,代码如下所示:
XAML:
视图模型:
当我运行应用程序时,消息“尚未完成”。显示,但在执行命令后,文本块的文本不会更新为“完成!”。
如何让它发挥作用?
wpf - WPF - 绑定到用户控件的 Dependency 属性在没有 UpdateSourceTrigger 的情况下不起作用
我有一个可重用的用户控件,用于使用带有 DependencyProperty SelectedCulture 的组合框选择语言。然后,我使用包含 UserViewModel 集合的 UsersViewModel 在 DataGrid 中显示用户列表的另一个控件。一列是包含语言选择控件的 DataGridTemplateColumn。我将属性 SelectedCulture 绑定到 UserViewModel 的属性,但除非 UpdateSourceTrigger 设置为 PropertyChanged,否则绑定不会更新 UserViewModel 的值。
为什么不?不应该是 PropertyChanged 默认值吗?
语言选择视图:
后面的代码:
用户视图:
用户视图模型:
当我使用 UpdateSourceTrigger=PropertyChanged 更新绑定时,一切都按预期工作。我检查了语言控件是否正在使用 PropertyChangedCallback 更新 DependencyProperty,并且它工作没有问题,所以看起来像是在用户视图一侧的绑定问题。
谢谢!
wpf - LostFocus 绑定缺少设置器调用
我Binding
在TextBox
.
在离开这个元素的焦点时,我希望有一个 setter 调用MyText
,即使Text
属性没有改变。
RefreshOnValueNotChanged()
永远不会调用测试函数。有谁知道诀窍吗?我需要UpdateSourceTrigger=LostFocus
, 因为附加的行为Enter
(并且我需要完整的用户输入......)。
与类:
wpf - 为什么绑定对目标到源不起作用
我有一个画布,上面有许多动态显示的图像,我使用了项目控件。我必须拖放并旋转(鼠标右键单击)这些图像并将新位置和旋转角度更新回源代码(VM 和模型)。
当我在画布上拖放图像时,我能够在我的屏幕上显示图像,并且我的 canvas.left 和 canvas.right 正在更新源中的新位置。问题是当我旋转图像时,图像被旋转但源中的新角度没有在我的源(VModel)中更新,我的意思是当我旋转图像时这个属性永远不会被调用。
它是正确绑定的,因为当我在画布上动态显示图像时,它们以我从源提供的相同角度显示。早些时候我怀疑模式没有设置双向绑定。即使我设置为 TwoWay 它也不起作用。我还添加了 UpdateSourceTrigger=PropertyChanged 但仍然不起作用。为什么角度在旋转图像时永远不会更新,而 canvas.left 和 canvas.top 会更新。
这是我的 XAML:
这是我在鼠标右键单击时旋转的地方(在 dd:DragCanvas 内)
如何更新角度属性(目标到源),这样每次我旋转图像时,我都设置了属性角度的一部分,称为
c# - dataBind 更改时更新标签
我需要从后面的代码中设置一个 UpdateSourceTrigger、PropertyChanged 但目前我还没有找到任何方法。
我正在尝试使用以下代码:
还有我的模特
但我有以下错误
不包含采用 1 个参数的构造函数。
错误很明显,但我不知道(也没有找到太多信息)我必须如何去做。
c# - 由于文本框失去焦点,按钮需要单击两次
我有一个具有 UpdateSourceTrigger = LostFocus 的文本框。
当我在文本框中输入内容并立即单击按钮时,按钮单击事件不会触发。我认为文本框只是失去了对按钮的关注。当我再次单击按钮时,它会触发单击事件。
如何克服这个问题?
这是我的 XAML 代码:
c# - 编辑后更新 DataGrid 行中的其他单元格
我有这样的课:
和一个List<Example>
作为 ItemSource 的 DataGrid:
我希望当我编辑 Count1 或 Count2 列时,Count3 也会更新。
使用此代码,仅更改了第二列(即与第一列相同的属性)。
我试图在 SelectedCellsChanged 事件中刷新网格项目。但是一旦事件在每次刷新时不断变化,就会导致 StackOverFlow。
我错过了什么?我寻找解决方案,但没有成功。
PS:调试我可以看到 grdExample.Items 中的值是正确的
c# - 带有 LostFocus 触发器的元素上的显式 UpdateSource
我的场景是,在打开应用程序时,我从文件中读取大量数据(使用XMLSerializer
)并将其放入ObservableCollection<MyClass>
. 使用绑定,我向用户呈现数据。当他们更改字段中的数据时,会更新集合中的正确数据,但我不希望将这些数据保存到LostFocus
. 我有一个“保存”按钮。
我不想用UpdateSOurceTrigger = PropertyChanged
,我想留着LostFocus
。问题是,当用户将数据输入到 aTextBox
并按下保存按钮时,TextBox
不会失去焦点,这意味着数据不会传播到集合并且不会保存。以下是我的有效解决方案,但是,我的问题是,这是一种正确的做法,还是有其他更好的方法?
在保存集合之前,我添加到“保存”按钮的代码:
c# - 一个控件的更新源触发器应该影响另一个控件
我正在为数据网格使用第三方控件。我已经在模型类中实现了属性更改事件,并且在我使用时它正在工作
它甚至在我的数据源中进行了更新,但是我在这里有另一个文本框,尽管项目源已使用新值进行了更新,但数据并未从项目源中检索。我想显示具有第一个文本框的属性更改事件的数据,并且行是动态的,所以我不能直接调用它们。如果我刷新它正在显示的数据源,但我不能使用该过程,因为当项目很多时,这是一个耗时的过程。
c# - 允许用户在单词之间输入空格,但在使用 PropertyChanged 时删除前导和尾随空格
在下面的代码中,我会在输入第七个字符后立即进行搜索。一切正常,除了用户无法键入空格,因为正如预期的那样,每次输入新字符时它们都会被删除,因为我在事件上调用该Trim()
方法。PropertyChanged
我想要做的是让用户能够键入空格但删除任何前导和尾随空格。换句话说,如果用户在他/她正在搜索的单词或句子之前和之后输入一些空格,我想删除空格并只搜索单词。
例如,如果用户键入...
我希望程序忽略空格并在输入最后一个时立即<space><space><space>The Cat<space><space><space>
搜索。The Cat
t
实现这一目标的最佳方法是什么?
XAML:
视图模型.CS