我试图强制数据表单显示与 ItemsSource 列表中的第一个不同的初始值,但没有成功。
我正在与 MVVM 父亲一起工作。
我只需将 ItemsSource 绑定到客户列表(所有客户),然后将 CurrentItem 绑定到我希望在 DataForm 上显示为初始项的一个客户:
<toolkit:DataForm Height="292"
HorizontalAlignment="Left"
ItemsSource="{Binding Path=Customers}"
CurrentItem="{Binding SelectedCustomer}"
Margin="88,122,0,0"
Name="customerDataForm"
VerticalAlignment="Top"
Width="342" />
在我设置的视图模型中:
void loadOpCustomers_Completed(object sender, EventArgs e) {
Customers = _Context.Customers;
SelectedCustomer = Customers.Where(c => c.CustomerID == initialCustomerID).FirstOrDefault();
}
当我调试它时,SelectedCustomer 持有我想要的确切客户,但 DataForm 坚持显示客户列表中的第一个。
有什么建议吗?
在 XAML 中添加绑定模式:
ItemsSource="{Binding Path=Customers}"
CurrentItem="{Binding SelectedCustomer,Mode=TwoWay}"
并确保您的 ViewModel 实现了 INotifyPropertyChanged。