2011-01-18 16 views
1

私は5秒ごとに更新するDataSourceのSilverlight Datagridを持っています。 グリッドがリフレッシュされるとき、フォーカスが最後の行ではなく最初のものになるようにしたいと思います。 グリッドのSelectedIndexプロパティを最後の行に設定しようとしましたが、機能しませんでした。SilverLight Datagrid refresh

詳細:

私は(MyObjectにの)ObservalbleListにデータグリッドをバインドしていますが、それのプロパティがViewModelにだ、とSelectedIndexをもViewModelに上のプロパティです。どちらのプロパティでも、プロパティ変更イベントが発生します(DataGrids DataSourceが明確に変更されていることを確認することで、この動作を確認できますが、SelectedIndexは決して設定されません)。問題を知られているが、周りの仕事を見つけていない任意のアイデア

答えて

0

あなたのビューモデルでは、このようのCurrentItem /エンティティのプロパティを作成します。?

private Customer customer; 
    public Customer CurrentCustomer 
    { 
     get { return this.customer; } 
     set 
     { 
      if (this.customer!= value) 
      { 
       this.customer= value; 
       OnPropertyChanged("CurrentCustomer"); 
      } 
     } 
    } 

あなたのビューですべての顧客をロードした後、モデルはCurrentCustomerを次のように設定します:

あなたのビューで
CurrentCustomer = context.Customers.Last(); 

/のようにCurrentCustomerするDataGridの選択項目バインドXAML:ちょうど各5秒のリフレッシュ後に上記のようなCurrentCustomerをリセット

SelectedItem="{Binding CurrentCustomer, Mode=TwoWay}" 

を。

関連する問題