0
A
回答
2
如果綁定列表框到ObservableCollection<T>
,你只能從UI線程修改集合。所以,你可以使用一個DispatcherTimer
,這引起了在UI線程上的Tick
事件,或使用專門收集像this one,並從另一個線程
0
在窗口或控制的Loaded事件,執行通過調用System.Windows.Threading.DispatcherObject爲 UI元素BeginInvoke方法來加載數據 的第一項,並指定一個系統中的方法。 Windows.Threading.DispatcherPriority的背景。當 該方法已完成生成數據並將其添加到列表中時,遞歸地將Dispatcher的隊列添加到 相同的方法,每次只添加一個項目,然後排隊呼叫 以添加具有DispatcherPriority背景的下一個。
private ObservableCollection<string> numberDescriptions;
// Declare a delegate to wrap the LoadNumber method
private delegate void LoadNumberDelegate(int number);
private void LoadNumber(int number)
{
// Add the number to the observable collection
// bound to the ListBox
numberDescriptions.Add("Number " + number.ToString());
if(number < 10000)
{
// Load the next number, by executing this method
// recursively on the dispatcher queue, with
// a priority of Background.
//
this.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
new LoadNumberDelegate(LoadNumber), ++number);
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// Initialize an ObservableCollection of strings
numberDescriptions =
new ObservableCollection<string>();
// Set it as the ItemsSource for the ListBox
listBox.ItemsSource = numberDescriptions;
// Execute a delegate to load
// the first number on the UI thread, with
// a priority of Background.
//
this.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
new LoadNumberDelegate(LoadNumber), 1);
}
看到WPF Recipes in C# 2008負荷的項目在ListBox異步(第460)
0
在此處填寫是如何用的DataTemplate RSS提要的列表框綁定的例子:
<UserControl.Resources>
<XmlDataProvider x:Key ="DataRSS" XPath="//item" Source="http://rss.feedsportal.com/c/629/f/502199/index.rss"></XmlDataProvider >
</UserControl.Resources >
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<ListBox ItemsSource="{Binding Source={StaticResource DataRSS}}" Height="516" Margin="0,0,32,0" Background="{x:Null}" BorderBrush="#FF627DAE">
<ListBox.ItemTemplate >
<DataTemplate >
<Grid Width="400" Height="100" >
<Image Source="{Binding XPath=enclosure/@url}" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock TextWrapping="Wrap" Text="{Binding XPath=title}" FontWeight="Bold" Grid.Column="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</grid>
相關問題
- 1. WPF綁定列表框到數據集
- 2. WPF列表框數據綁定
- 3. WPF更新列表框數據綁定
- 4. 數據綁定WPF列表框?
- 5. WPF列表框 - 數據綁定問題
- 6. 將數據綁定列表框與WPF連接列表框
- 7. WPF列表框綁定
- 8. WPF C#數據綁定列表定稿
- 9. C#WPF界面凍結,而數據表綁定與列表框
- 10. WPF:使用與數據表綁定的列表框中的值
- 11. WPF列表視圖數據綁定
- 12. WPF datagrid綁定數據表
- 13. WPF列表框/查看數據綁定奇怪的結果
- 14. 動態更新數據綁定列表框C#WPF
- 15. 顯示只允許在WPF列表框中的數據綁定
- 16. 在運行時將數據綁定到WPF列表框
- 17. 爲什麼我的數據綁定WPF列表框顯示行?
- 18. 有一個數據綁定列表框WPF子類生成ListboxItems
- 19. 使用ViewModel WPF嵌套列表框數據綁定
- 20. WPF:取消數據綁定列表框中的用戶選擇?
- 21. IronPython和WPF中的簡單列表框數據綁定
- 22. WPF數據綁定列表框嵌套類
- 23. WPF數據綁定到組合框的字符串列表
- 24. WPF和LINQ到XML數據綁定到列表框
- 25. ObservableCollection和WPF列表框綁定
- 26. 來自列表框的WPF綁定ItemTemplate
- 27. WPF/DeferRefresh與綁定列表框
- 28. 綁定的ObservableCollection到WPF列表框
- 29. WPF XAML綁定列表和組合框
- 30. WPF列表框綁定沒有顯示