Questions tagged «data-binding»

一种将两个数据/信息源绑定在一起并保持同步的通用技术。


12
绑定到静态属性
我很难将简单的静态字符串属性绑定到TextBox。 这是带有static属性的类: public class VersionManager { private static string filterString; public static string FilterString { get { return filterString; } set { filterString = value; } } } 在我的xaml中,我只想将此静态属性绑定到TextBox: <TextBox> <TextBox.Text> <Binding Source="{x:Static local:VersionManager.FilterString}"/> </TextBox.Text> </TextBox> 一切都可以编译,但是在运行时,出现以下异常: 无法将属性“源”中的值转换为类型“ System.Windows.Markup.StaticExtension”的对象。标记文件'BurnDisk; component / selectversionpagefunction.xaml'中的对象'System.Windows.Data.Binding'出错,行57位置29。 知道我在做什么错吗?
168 wpf  xaml  data-binding 

4
观察者,发布/订阅和数据绑定之间的区别
观察者模式,发布/订阅和数据绑定之间有什么区别? 我在Stack Overflow上进行了一些搜索,没有找到任何好的答案。 我已经相信数据绑定是一个通用术语,并且有多种实现它的方式,例如观察者模式或发布/订阅模式。通过观察者模式,观察者更新其观察者。使用发布/订阅,0个发布者可以发布某些类别的消息,0个订阅者可以订阅某些类别的消息。 还有其他实现“数据绑定”的模式吗?

10
AngularJS:绑定到服务属性的正确方法
我正在寻找有关如何绑定到AngularJS中的服务属性的最佳实践。 我已经研究了多个示例,以了解如何绑定到使用AngularJS创建的服务中的属性。 下面有两个关于如何绑定到服务中的属性的示例。他们都工作。第一个示例使用基本绑定,第二个示例使用$ scope。$ watch绑定到服务属性 当绑定到服务中的属性时,这些示例是首选还是建议使用其他我不知道的选项? 这些示例的前提是服务应每5秒更新其属性“ lastUpdated”和“ calls”。服务属性更新后,视图应反映这些更改。这两个示例均成功运行;我想知道是否有更好的方法。 基本绑定 可以在下面的代码中查看和运行以下代码:http : //plnkr.co/edit/d3c16z <html> <body ng-app="ServiceNotification" > <div ng-controller="TimerCtrl1" style="border-style:dotted"> TimerCtrl1 <br/> Last Updated: {{timerData.lastUpdated}}<br/> Last Updated: {{timerData.calls}}<br/> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script> <script type="text/javascript"> var app = angular.module("ServiceNotification", []); function TimerCtrl1($scope, Timer) { $scope.timerData = Timer.data; }; app.factory("Timer", function ($timeout) { …

4
Spring MVC类型转换:PropertyEditor还是Converter?
我正在寻找在Spring MVC中绑定和转换数据的最简单方法。如果可能,不进行任何xml配置。 到目前为止,我一直在像这样使用PropertyEditors: public class CategoryEditor extends PropertyEditorSupport { // Converts a String to a Category (when submitting form) @Override public void setAsText(String text) { Category c = new Category(text); this.setValue(c); } // Converts a Category to a String (when displaying form) @Override public String getAsText() { Category c = …

3
如何通过数据绑定设置WPF超链接的文本?
在WPF中,我想创建一个导航到对象详细信息的超链接,并且希望该超链接的文本成为该对象的名称。现在,我有这个: <TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">Object Name</Hyperlink></TextBlock> 但我希望将“对象名称”绑定到对象的实际名称。我想做这样的事情: <TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/></TextBlock> 但是,Hyperlink类没有适合于数据绑定的text或content属性(即,依赖项属性)。 有任何想法吗?

7
绑定@RequestParam中的列表
我以这种方式从表单发送一些参数: myparam[0] : 'myValue1' myparam[1] : 'myValue2' myparam[2] : 'myValue3' otherParam : 'otherValue' anotherParam : 'anotherValue' ... 我知道我可以通过添加类似的参数来获取控制器方法中的所有参数 public String controllerMethod(@RequestParam Map<String, String> params){ .... } 我想将参数myParam [](而不是其他参数)绑定到列表或数组(任何保持索引顺序的东西),因此我尝试使用以下语法: public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){ .... } 和 public String controllerMethod(@RequestParam(value="myParam") String[] myParams){ .... } 但它们都没有绑定myParam。即使将值添加到地图,它也无法绑定参数: public String controllerMethod(@RequestParam(value="myParam") Map<String, String> params){ …

6
将只读GUI属性推回ViewModel中
我想编写一个ViewModel,它总是从View知道某些只读依赖项属性的当前状态。 具体来说,我的GUI包含FlowDocumentPageViewer,它一次显示FlowDocument中的一页。FlowDocumentPageViewer公开了两个名为CanGoToPreviousPage和CanGoToNextPage的只读依赖项属性。我希望我的ViewModel始终知道这两个View属性的值。 我认为我可以使用OneWayToSource数据绑定来做到这一点: <FlowDocumentPageViewer CanGoToNextPage="{Binding NextPageAvailable, Mode=OneWayToSource}" ...> 如果允许这样做,那将是完美的:每当FlowDocumentPageViewer的CanGoToNextPage属性发生更改时,新值将被下推到ViewModel的NextPageAvailable属性中,这正是我想要的。 不幸的是,这无法编译:我收到一条错误消息,提示“ CanGoToPreviousPage”属性为只读属性,无法从标记中进行设置。显然,只读属性不支持任何类型的数据绑定,甚至不支持相对于该属性为只读的数据绑定。 我可以将ViewModel的属性设置为DependencyProperties,并进行另一种方式的OneWay绑定,但是我对关注分离冲突并不感到疯狂(ViewModel需要引用View,而MVVM数据绑定应该避免该视图)。 FlowDocumentPageViewer不会公开CanGoToNextPageChanged事件,而且我不知道从DependencyProperty获取更改通知的任何好方法,而没有创建另一个DependencyProperty绑定到该事件的方法,这似乎是过分的。 如何使ViewModel知道视图的只读属性的更改?

8
如何将WPF DataGrid绑定到可变数量的列?
我的WPF应用程序生成的数据集每次可能具有不同的列数。输出中包括对将用于应用格式设置的每一列的描述。输出的简化版本可能类似于: class Data { IList<ColumnDescription> ColumnDescriptions { get; set; } string[][] Rows { get; set; } } 此类设置为WPF DataGrid上的DataContext,但实际上是通过编程方式创建的: for (int i = 0; i < data.ColumnDescriptions.Count; i++) { dataGrid.Columns.Add(new DataGridTextColumn { Header = data.ColumnDescriptions[i].Name, Binding = new Binding(string.Format("[{0}]", i)) }); } 有什么方法可以用XAML文件中的数据绑定替换此代码吗?
124 c#  wpf  xaml  data-binding  datagrid 

4
使用StringFormat将字符串添加到WPF XAML绑定
我有一个WPF 4应用程序,其中包含一个TextBlock,该TextBlock具有单向绑定到整数值(在这种情况下为摄氏度)的功能。XAML看起来像这样: <TextBlock x:Name="textBlockTemperature"> <Run Text="{Binding CelsiusTemp, Mode=OneWay}"/></TextBlock> 这对于显示实际温度值效果很好,但是我想格式化该值,因此它包括°C而不是数字(30°C而不是30)。我一直在阅读有关StringFormat的文章,并且看到了一些类似的通用示例: // format the bound value as a currency <TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" /> 和 // preface the bound value with a string and format it as a currency <TextBlock Text="{Binding Amount, StringFormat=Amount: {0:C}}"/> 不幸的是,在我尝试执行的过程中,我所见的所有示例均未将字符串附加到绑定值上。我敢肯定它一定很简单,但是我找不到运气。谁能告诉我该怎么做?

1
如何在AngularJS中进行双向过滤?
AngularJS可以做的有趣的事情之一是将过滤器应用于特定的数据绑定表达式,这是一种方便的方法,例如,应用区域性特定的货币或模型属性的日期格式。在范围上具有计算属性也很好。问题在于这些功能都不适用于双向数据绑定方案-从作用域到视图仅单向数据绑定。在一个本来不错的图书馆中,这似乎是一个明显的遗漏-还是我错过了什么? 在KnockoutJS中,我可以创建一个读/写计算属性,该属性允许我指定一对函数,一个被调用以获取该属性的值,一个被设置为属性时被调用。例如,这使我可以实现文化意识的输入-允许用户键入“ $ 1.24”,然后将其解析为ViewModel的float,并在输入中反映出ViewModel的更改。 我可以找到与此最相似的东西是使用。$scope.$watch(propertyName, functionOrNGExpression);这允许我在$scope更改属性时调用一个函数。但这不能解决例如文化意识的输入问题。当我尝试$watched在$watch方法本身中修改属性时,请注意问题: $scope.$watch("property", function (newValue, oldValue) { $scope.outputMessage = "oldValue: " + oldValue + " newValue: " + newValue; $scope.property = Globalize.parseFloat(newValue); }); (http://jsfiddle.net/gyZH8/2/) 当用户开始输入时,输入元素会非常混乱。我通过将属性拆分为两个属性来改进它,一个用于未解析的值,另一个用于已解析的值: $scope.visibleProperty= 0.0; $scope.hiddenProperty = 0.0; $scope.$watch("visibleProperty", function (newValue, oldValue) { $scope.outputMessage = "oldValue: " + oldValue + " newValue: " + …

5
有没有办法在XAML中链接多个值转换器?
在经过两次单独的转换后,我需要显示一个整数值,该值绑定到我的数据上下文中的属性: 反转某个范围内的值(例如,范围是1到100;数据上下文中的值是90;用户看到的值是10) 将数字转换为字符串 我意识到我可以通过创建自己的转换器(实现IValueConverter)来完成这两个步骤。但是,我已经有一个单独的值转换器,它仅执行第一步,而第二步由Int32Converter覆盖。 有没有一种方法可以在XAML中链接这两个现有类,而不必创建进一步的类来聚合它们? 如果我需要澄清其中任何一个,请告诉我。:) 谢谢。


5
使用include标签的Android数据绑定
更新说明: 上面的示例正常工作,因为版本1.0-rc4 解决了需要不必要的变量的问题。 原始问题: 我完全按照文档中的描述进行操作,但不起作用: main.xml: <layout xmlns:andr... <data> </data> <include layout="@layout/buttons"></include> .... button.xml: <layout xmlns:andr...> <data> </data> <Button android:id="@+id/button" ...." /> MyActivity.java: ... binding = DataBindingUtil.inflate... binding.button; ->cannot resolve symbol 'button' 如何获得按钮?

10
检测WPF验证错误
在WPF中,您可以使用ExceptionValidationRule或根据数据绑定期间在数据层中引发的错误来设置验证DataErrorValidationRule。 假设您以这种方式设置了一堆控件,并且有一个“保存”按钮。用户单击“保存”按钮时,需要确保没有验证错误,然后再继续保存。如果存在验证错误,则要大声疾呼。 在WPF中,如何查找是否有任何数据绑定控件设置了验证错误?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.