绑定到对象的属性
我想将网格中的一系列TextBox 绑定到一个对象的属性中,该对象本身就是我的ViewModel(DataContext)中的另一个属性。
CurrentPerson
由Name
和Age
属性组成
在ViewModel中:
public Person CurrentPerson { get; set ... (with OnPropertyChanged)}
Xaml:
我不确定使用的方法,我在网格范围内设置了另一个DataContext,没有任何结果,还尝试设置源和路径,如Source = CurrentPerson,Path = Age,没有任何结果,这些都是试用,看看如果有任何改变。
我该怎么做到这一点?
您的Person
类成员Name
和Age
是否会自己提高INPC?
如果要在ViewModel
更新Name
或Age
的值并使其反映在视图中,则需要它们在Person
类中单独更改属性。
绑定很好,但视图几乎没有通知视图模型的更改。 另外请记住,默认情况下, TextBox
的UpdateSourceTrigger
是LostFocus
,设置为PropertyChanged
将在ViewModel
更新您的字符串作为您的输入。
简单的例子:
public class Person : INotifyPropertyChanged { private string _name; public string Name { get { return _name; } set { if (value == _name) return; _name = value; OnPropertyChanged(() => Name); } } // Similarly for Age ... }
现在你的xaml将是:
或者您也可以按照@Kshitij的建议进行绑定
并在您输入时更新视图模型
试试这个:
基本上,您可以使用以下方法深入查看属性.
分隔器。
为了将来参考,如果你想深入研究集合,你可以像在代码中一样使用MyCollection[x]
(其中x将被硬编码的数字替换, 而不是变量 )。
上述就是C#学习教程:绑定到对象的属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/958683.html