对不起,XAML对我来说很新,所以如果我听起来像菜鸟,我会提前道歉。
我在ListBox中有动态添加/删除/等项目,它的绑定方式如下:
<ListBox Name="missionList" ItemsSource="{Binding Mode=OneWay}" ItemTemplate="{DynamicResource missionLegTemplate}" SelectionChanged="missionList_SelectionChanged"/>
它绑定的项目包含在继承自ObservableList的列表中。这个列表是我的DataContext,它在程序的开头设置:
public MainWindow()
{
InitializeComponent();
DataContext = new MissionList();
}
我有一系列文本框,用于显示对象属性的当前值,并在编辑时保存它们。
阅读后,我得到的印象是我需要将文本框范围内的DataContext设置为ListBox中当前选定的对象,但我不确定如何使用XAML访问该对象。 / p>
这有意义吗?在此先感谢您的帮助!
答案 0 :(得分:0)
我可能会将您的MissionList移动到ViewModel类中,以及可以绑定到ListBox的SelectedItem的SelectedMission的新属性。
作为一个例子(不一定是工作代码):
public MainWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
}
public class MainWindowViewModel
{
public ObservableCollection<Mission> MissionList { ... }
public Mission SelectedMission { ... }
.
.
.
}
<ListBox ItemsSource="{Binding MissionList}" SelectedItem="{Binding SelectedMission}" />
<TextBox Text="{Binding Path=SelectedMission.SomeTextField, Mode=OneWay}" />