ton*_*oni 30 wpf return invoke dispatcher
任何人都知道如何从中返回值Dispatcher.Invoke在wpf?我想返回ComboBox的选定索引.
谢谢!
use*_*652 31
还有另一种从Invoke()返回值的方法:
object oIsLoaded = container.Dispatcher.Invoke( new Func<bool> ( () =>
{
return container.IsLoaded;
})
);
Run Code Online (Sandbox Code Playgroud)
顺便说一下,初始代码(与委托一起工作)很可能根本不会修改oIsLoaded; 所以我宁愿用a Func<>来从这种函数中返回一个值.
小智 30
int result = -1;
// this is synchronous
myCombo.Invoke(() =>
{
result = myCombo.SelectedIndex;
});
return result;
Run Code Online (Sandbox Code Playgroud)
当然,这有点笨重.更好的设计是在您的VM中实现INotifyPropertyChanged,创建一个SelectedIndex属性并将SelectedIndex组合框的属性绑定到它.INPC绑定是线程不敏感的(3.5或4.0+,我不记得是哪个),因此您可以从VM中的不同线程读取和更新这些属性,而无需担心.
| 归档时间: |
|
| 查看次数: |
21507 次 |
| 最近记录: |