0

我试图强制 DataForm 显示一个与 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 坚持显示客户列表的第一个。

有什么建议吗?

4

1 回答 1

0

在 XAML 中添加绑定模式:

ItemsSource="{Binding Path=Customers}"
CurrentItem="{Binding SelectedCustomer,Mode=TwoWay}"

并确保您的 ViewModel 实现了 INotifyPropertyChanged。

于 2012-10-16T14:18:23.160 回答