我有一个具有两个属性的视图模型。其中之一是 myDataGridSelectedItems,即数据网格的选择更改事件中的更新(我正在使用 MVVM light 将事件转换为命令)。
第二个属性是 myText,即视图中具有文本框的文本。
在我看来,我有一个文本框,其文本取决于数据网格的选择,如果选择是一项,那么我将数据网格的一列信息放在文本框中,如果选择是 0 或大于 1,那么我清除文本框。
为此,我使用以下代码:
<TextBox Height="23" HorizontalAlignment="Stretch" Margin="5,26,0,0" Name="mytextBox" VerticalAlignment="Top"
Text="{Binding ElementName=Principal, Path=DataContext.MyDatagridSelectedItems, Converter={StaticResource TextBoxValueConverter}}">
这很好用,因为当我在数据网格中选择一行时,textBox 有文本(转换返回的文本),当我选择多行或取消选择所有行时,它是空的。
但是,通过这种方式属性myText不会更新,因为我没有设置绑定,因为axml中Text属性的绑定使用转换器,而不是视图模型的属性myText。
所以我想知道是否可以在 textBox 的 Text 属性中设置两个绑定,或者是否存在某种方式来在 TextBox 中的文本更改时更新视图模型中的 myText 属性。
谢谢。