|
Provee métodos para la interorperación con el UI Thread.Permite "encolar"
sincrónicamente (EnqueueAndWait) o asincrónicamente (Enqueue) operaciones en la
UI Thread. Es
usada internamente en el BLOCK BBinding pero está disponible
para ser usada en cualquier BLOCK. Esta Clase es una pieza clave en el Procesamiento Paralelo
de M&P TBW. 
ambiente:  namespace: ob.gc
Propiedades
| Dispatcher | Dispatcher Dispatcher { get; set; } Contiene una referencia al Dispatcher de la Pagina Base
de la aplicación. | | | |
Métodos | Enqueue | public static void Enqueue(DELX DEL) Pone el Delegate DEL en la Cola de Atención del UI
Thread para ser invocado por el Dipatcher. Ver
Ejemplo 1. Si el método se invoca en la UIThread el Delegate se invoca
inmediatamente. | | EnqueueAndWait | public static void EnqueueAndWait(DELX DEL,
AutoResetEvent WE) Pone el Delegate DEL en la Cola de Atención del UI
Thread para ser invocado por el Dipatcher y espera la conclusión
de la operación. Ver Ejemplo 2. Si el método se invoca en la UIThread el Delegate se invoca
inmediatamente. | | | |
Extension Methods .NET [R1]| GetControlProperty | public static object GetControlProperty(
this FrameworkElement c,
String PropName) Permite obtener el valor de la Property PropName de
cualquier FrameworkElementdesde cualquier Thread.
Ejemplo:DataGrid dg = ...
BIT bit = (BIT)dg.GetControlProperty("SelectedItem"); | | SetControlProperty | public static void SetControlProperty(
this FrameworkElement c,
String PropName,
object value) Permite asignar el valor value a la Property
PropName de cualquier FrameworkElement desde
cualquier Thread.
Ejemplo:HyperlinkButton hlbLogin = ...
hlbLogin.SetControlProperty("Visibility", Visibility.Visible); | | | |
int arg1 = ...;
BUIThread.Enqueue(delegate()
{
......... MyUIOpA(arg1); ......... });
int arg1 = ...;
int res;
AutoResetEvent WE =
new AutoResetEvent(false);
BUIThread.EnqueueAndWait(delegate()
{
......... res = MyUIOpB(arg1); ......... WE.Set();
}, WE);
Referencias |