I am developing a WPF Master detail application. I would like to auto refresh my page every 5 secs. I have used a Dispatcher
to achieve this. everything works fine, but the selected item is highlighted only for those 5 seconds, after 5 secs the default selected row is being displayed on the top replacing my selecteditem.
I have tried setting the issynchronizedwithcurrentitem="False"
, but with this set to false, the selecteditem ( for Master-detail scenario) doesn't work.
this is what I have tried,
public partial class MainWindow : Window
{
WpfApplication1.PersonsEntities personsEntities;
System.Windows.Data.CollectionViewSource personViewSource;
System.Data.Objects.ObjectQuery<WpfApplication1.person> personQuery;
public MainWindow()
{
InitializeComponent();
}
private ObjectQuery<person> GetpersonQuery(PersonsEntities personsEntities)
{
var personQuery = personsEntities.person;
return personQuery as ObjectQuery<person>;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
dispatcherTimer.Start();
}
protected void dispatcherTimer_Tick(object sender, EventArgs e)
{
personsEntities = new WpfApplication1.PersonsEntities();
personViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("personViewSource")));
personQuery = this.GetpersonQuery(personsEntities);
personViewSource.Source = personQuery.Execute(System.Data.Objects.MergeOption.AppendOnly);
}
}
kindly help.
Thanks
-Dharshini