在 LightSwitch HTML 客户端中将 TextBox 控件的绑定目标更新为 PropertyChanged (keydown)
Updating a TextBox control's binding targets as PropertyChanged (keydown) in LightSwitch HTML clients
我们正在使用 Visual Studio LightSwitch HTML 客户端,在某些情况下,我们希望在文本输入到 TextBox 控件时更新绑定目标,而不是控件的 LostFocus。
这与使用 XAML UpdateSourceTrigger.PropertyChanged rather than UpdateSourceTrigger.LostFocus.
的方式类似
实现这个的options/recommended方法是什么?
我们最终使用以下代码模式以适合我们要求的方式解决此问题:-
myapp.AddEditCustomer.Name_postRender = function (element, contentItem) {
contentItem.dataBind("_view.isRendered", function (isRendered) {
if (isRendered) {
var tb = contentItem._view.underlyingControl;
tb.getView().on("keyup", ".id-element", null, function (e) {
tb.text = tb._textElement.val();
});
contentItem.dataBind("value", function (value) {
// Use the toastr library from nuget (http://www.nuget.org/packages/toastr)
// in order to display the value of the updated binding target
// and demonstrate that the update occurs on PropertyChanged
toastr.info("value [" + value + "]");
});
}
});
};
通过使用 keyup 处理程序(针对基础文本框控件的输入元素添加),此方法会强制绑定目标在释放键后进行更新。一旦文本框控件完成呈现,就会附加 keyup 处理程序。
以上示例使用了优秀的 toastr JavaScript 库 (codeseven.github.io/toastr) which can be installed in Visual Studio using the associated NuGet package (toastr)。
我们正在使用 Visual Studio LightSwitch HTML 客户端,在某些情况下,我们希望在文本输入到 TextBox 控件时更新绑定目标,而不是控件的 LostFocus。
这与使用 XAML UpdateSourceTrigger.PropertyChanged rather than UpdateSourceTrigger.LostFocus.
的方式类似实现这个的options/recommended方法是什么?
我们最终使用以下代码模式以适合我们要求的方式解决此问题:-
myapp.AddEditCustomer.Name_postRender = function (element, contentItem) {
contentItem.dataBind("_view.isRendered", function (isRendered) {
if (isRendered) {
var tb = contentItem._view.underlyingControl;
tb.getView().on("keyup", ".id-element", null, function (e) {
tb.text = tb._textElement.val();
});
contentItem.dataBind("value", function (value) {
// Use the toastr library from nuget (http://www.nuget.org/packages/toastr)
// in order to display the value of the updated binding target
// and demonstrate that the update occurs on PropertyChanged
toastr.info("value [" + value + "]");
});
}
});
};
通过使用 keyup 处理程序(针对基础文本框控件的输入元素添加),此方法会强制绑定目标在释放键后进行更新。一旦文本框控件完成呈现,就会附加 keyup 处理程序。
以上示例使用了优秀的 toastr JavaScript 库 (codeseven.github.io/toastr) which can be installed in Visual Studio using the associated NuGet package (toastr)。