Wpf Q:从listview绑定的文本框更新viewmodel属性
我有一个文本框,文本绑定到listview selecteditem,如下所示:Wpf Q:从listview绑定的文本框更新viewmodel属性,wpf,mvvm,properties,binding,Wpf,Mvvm,Properties,Binding,我有一个文本框,文本绑定到listview selecteditem,如下所示: <TextBox x:Name="txtAdditional" Width="300" Text="{Binding ElementName=lstPersons, Path=SelectedItem.Additional, Mode=OneWay}" /> 现在,我想实现一种机制,使用此文本框向listview添加新项以获取实际数据。因
<TextBox x:Name="txtAdditional" Width="300" Text="{Binding ElementName=lstPersons, Path=SelectedItem.Additional, Mode=OneWay}" />
现在,我想实现一种机制,使用此文本框向listview添加新项以获取实际数据。因此,我想将textbox的文本绑定到viewmodel的属性,以便可以通过命令对其进行处理
因此,必须将文本框文本绑定到listviews selecteditem以及我的viewmodel的属性
我已经四处搜索并找到了一些方法,但我忍不住认为应该有一些更简单的机制来归档这个目标
我现在发现:
我忍不住想,这个问题还没有得到考虑,使用mvvm模式?!;-) 是的,多亏了BionicCode的提示 我们,或者更好,我应该考虑一下MVVM的概念。当然没有——或者至少尽可能少的代码隐藏 我将属性“selectedPerson”添加到我的viewmodel中,并将listview的SelectedItem绑定到此属性。因此,与对象相关的属性可以直接通过我的viewmodel中的“selected”对象获得,而不再需要访问文本框内容
感谢BionicCode的提示 您应该在视图模型中添加属性,例如,
SelectedPerson
。在需要时,将此属性用作每个控件的绑定源。例如,将其绑定到列表视图。选择editem
和TextBox.Text
。您应该始终将视图模型视为唯一的数据源,而不是其他控件。数据始终在控件视图模型之间流动,但“从不”控件。先这样想会让事情变得更容易。