WPF绑定文本框到列表使用变量作为索引

本文关键字:变量 索引 string 文本 绑定 列表 WPF | 更新日期: 2023-09-27 18:16:16

我有一个窗口,显示相同的UserControls的可变数量,其中包含(除其他事项)一个文本框。一个ViewModel同时服务于窗口和用户控件。如何将UserControl的TextBox的Text属性绑定到视图模型中字符串列表的元素,当所需的索引传递给UserControl的构造函数时?

我还需要Mode="TwoWay"和UpdateSourceTrigger="PropertyChanged"。

使用VS2013, . net 4.5.2和MVVM-Light框架。

谢谢。

WPF绑定文本框到列表<string>使用变量作为索引

您需要在ViewModel中创建一个新属性,作为该调用的"包装器"。

public string MyElementItem {
   get { return myStringList[myAwesomeIndexFromConstructor]; }
   set { 
      myStringList[myAwesomeIndexFromConstructor] = value; 
      RaisePropertyChanged(...);
}

然后绑定到这个新属性,它应该会为你创造奇迹!

<TextBox Text="{Binding MyElementItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

决定创建一个新的ViewModel类,只服务于UserControls,每个对象一个。创建UserControls的同一个类现在创建ViewModels并在UserControls函数中传递一个。