This question is locked. New answers and comments are not allowed.
I am using the MVVM pattern and found this blog post:
http://blogs.telerik.com/blogs/posts/11-05-12/windows_phone_7_mvvm_1_raddataboundlistbox.aspx
However, when I look at your examples there is in the ListExampleBase.cs a method call BeginAsyncBalance in addition to the ItemsSource property being set manually in code (as opposed to a Binding element in xaml in the View which is what I currently have as per the blog post.
protected virtual void DisplayData(IEnumerable items)
{
........
this.Dispatcher.BeginInvoke(() =>
{
this.ListBox.BeginAsyncBalance();
this.ListBox.ItemsSource = items;
});
}
In addition, when the list box has been loaded (in the OnLoaded method of same class), the following property is set. Again, is this important, and what exactly does this do?
this.ListBox.IsAsyncBalanceEnabled = this.EnableAsyncBalance;
If you could please explain whether it is best practice to set this property and call this method at these particular points in the control's lifecycle? If so, why do they need to be controlled manually?
I'm really after a 'sensible default' here. My listbox will have 'More' enabled to allow paging, but is unlikely to get bigger than 1-200 items. The templating will however be very rich if this helps.
http://blogs.telerik.com/blogs/posts/11-05-12/windows_phone_7_mvvm_1_raddataboundlistbox.aspx
However, when I look at your examples there is in the ListExampleBase.cs a method call BeginAsyncBalance in addition to the ItemsSource property being set manually in code (as opposed to a Binding element in xaml in the View which is what I currently have as per the blog post.
protected virtual void DisplayData(IEnumerable items)
{
........
this.Dispatcher.BeginInvoke(() =>
{
this.ListBox.BeginAsyncBalance();
this.ListBox.ItemsSource = items;
});
}
In addition, when the list box has been loaded (in the OnLoaded method of same class), the following property is set. Again, is this important, and what exactly does this do?
this.ListBox.IsAsyncBalanceEnabled = this.EnableAsyncBalance;
If you could please explain whether it is best practice to set this property and call this method at these particular points in the control's lifecycle? If so, why do they need to be controlled manually?
I'm really after a 'sensible default' here. My listbox will have 'More' enabled to allow paging, but is unlikely to get bigger than 1-200 items. The templating will however be very rich if this helps.