C# WPF将文本框绑定到列表<;字符串>;使用变量作为索引

C# WPF将文本框绑定到列表<;字符串>;使用变量作为索引,c#,wpf,mvvm,data-binding,mvvm-light,C#,Wpf,Mvvm,Data Binding,Mvvm Light,我有一个窗口,可以显示不同数量的相同用户控件,其中包含(除其他外)一个文本框。单个ViewModel同时为窗口和用户控件提供服务。当所需索引传递给UserControl的构造函数时,如何将UserControl的TextBox的Text属性绑定到视图模型中字符串列表的元素 我还需要Mode=“TwoWay”和UpdateSourceTrigger=“PropertyChanged” 使用VS2013、.NET 4.5.2和MVVM轻型框架 谢谢。您需要在ViewModel中创建一个新属性,作为该

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

我还需要Mode=“TwoWay”和UpdateSourceTrigger=“PropertyChanged”

使用VS2013、.NET 4.5.2和MVVM轻型框架


谢谢。

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

public string MyElementItem {
   get { return myStringList[myAwesomeIndexFromConstructor]; }
   set { 
      myStringList[myAwesomeIndexFromConstructor] = value; 
      RaisePropertyChanged(...);
}
然后绑定到这个新属性,它会为您带来奇迹

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

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

public string MyElementItem {
   get { return myStringList[myAwesomeIndexFromConstructor]; }
   set { 
      myStringList[myAwesomeIndexFromConstructor] = value; 
      RaisePropertyChanged(...);
}
然后绑定到这个新属性,它会为您带来奇迹

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

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

public string MyElementItem {
   get { return myStringList[myAwesomeIndexFromConstructor]; }
   set { 
      myStringList[myAwesomeIndexFromConstructor] = value; 
      RaisePropertyChanged(...);
}
然后绑定到这个新属性,它会为您带来奇迹

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

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

public string MyElementItem {
   get { return myStringList[myAwesomeIndexFromConstructor]; }
   set { 
      myStringList[myAwesomeIndexFromConstructor] = value; 
      RaisePropertyChanged(...);
}
然后绑定到这个新属性,它会为您带来奇迹

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



决定创建一个新的ViewModel类,只为用户控件服务,每个对象一个。创建UserControls的同一个类现在创建ViewModels并在UserControls中传递一个

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

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

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

为什么不使用一个额外的属性,而不是尝试将列表绑定到字符串属性?为什么不使用一个额外的属性,而不是尝试将列表绑定到字符串属性?为什么不使用一个额外的属性,而不是尝试将列表绑定到字符串属性?为什么你不使用一个额外的属性来代替将列表绑定到一个字符串属性吗?知道索引的是UserControl的构造函数;ViewModel包含为所有用户控件提供信息的列表。我已经更新了我的帖子以澄清更大的问题。你是否能够以某种方式用索引值“填充”ViewModel?通过将值传递给其构造函数(取决于其集合的方式)或发送包含要使用的索引值的命令。但是视图模型如何跟踪哪个索引对应于哪个UserControl?你是说UserControl应该在ViewModel中设置一个属性,然后再向ViewModel请求字符串吗?你是不是为每个单独的UserControl使用一个共享的ViewModel?是的,这就是为什么ViewModel的属性是一个列表。ViewModel服务于包含UserControls和UserControls的窗口;ViewModel包含为所有用户控件提供信息的列表。我已经更新了我的帖子以澄清更大的问题。你是否能够以某种方式用索引值“填充”ViewModel?通过将值传递给其构造函数(取决于其集合的方式)或发送包含要使用的索引值的命令。但是视图模型如何跟踪哪个索引对应于哪个UserControl?你是说UserControl应该在ViewModel中设置一个属性,然后再向ViewModel请求字符串吗?你是不是为每个单独的UserControl使用一个共享的ViewModel?是的,这就是为什么ViewModel的属性是一个列表。ViewModel服务于包含UserControls和UserControls的窗口;ViewModel包含为所有用户控件提供信息的列表。我已经更新了我的帖子以澄清更大的问题。你是否能够以某种方式用索引值“填充”ViewModel?通过将值传递给其构造函数(取决于其集合的方式)或发送包含要使用的索引值的命令。但是视图模型如何跟踪哪个索引对应于哪个UserControl?你是说UserControl应该在ViewModel中设置一个属性,然后再向ViewModel请求字符串吗?你是不是为每个单独的UserControl使用一个共享的ViewModel?是的,这就是为什么ViewModel的属性是一个列表。ViewModel服务于包含UserControls和UserControls的窗口;ViewModel包含为所有用户控件提供信息的列表。我已经更新了我的帖子以澄清更大的问题。你是否能够以某种方式用索引值“填充”ViewModel?通过将值传递给其构造函数(取决于其集合的方式)或发送包含要使用的索引值的命令。但是视图模型如何跟踪哪个索引对应于哪个UserControl?你是说UserControl应该在ViewModel中设置一个属性,然后再向ViewModel请求字符串吗?你是不是为每个单独的UserControl使用一个共享的ViewModel?是的,这就是为什么ViewModel的属性是一个列表。ViewModel服务于包含UserControls和UserControls的窗口。