0

DataForm に、最初の ItemsSource リストとは異なる初期値を強制的に表示させようとしていますが、成功しません。

私はMVVMパターンで作業しています。

ItemsSource を Customers リスト (すべての顧客) にバインドし、CurrentItem を DataForm の最初の項目として表示する 1 つの顧客にバインドするだけです。

     <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 は Customers リストの最初のものを表示することを主張します。

なにか提案を?

4

1 に答える 1

0

XAML にバインド モードを追加します。

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

そして、ViewModel が INotifyPropertyChanged を実装していることを確認してください。

于 2012-10-16T14:18:23.160 に答える