Tengo un problema con la configuración del estado habilitado de un botón en un cuadro de diálogo. El botón en cuestión se define como:Wix Interacciones con condiciones, propiedades y acciones personalizadas
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
<Condition Action="disable">Validated = 0</Condition>
<Condition Action="enable"><![CDATA[Validated <> 0]]></Condition>
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
La propiedad Validado comienza en un valor inicial de 0, y como se esperaba en el botón junto comienza con discapacidad.
<Property Id="Validated" Value="0"/>
La propiedad se modifica mediante una acción personalizada en otro botón.
<Control Id="PerformValidation" Type="PushButton" X="225" Y="75" Width="50" Height="20" Text="Validate">
<Publish Event="DoAction" Value="ValidateDB">1</Publish>
</Control>
Con una versión simplificada de la acción personalizada como:
[CustomAction]
public static ActionResult ValidateDatabase(Session session)
{
session.Log("Begin ValidateDatabase");
session["Validated"] = "1";
return ActionResult.Success;
}
El problema que enfrentamos es que el botón Siguiente no vuelva a habilitar en sí después de la acción personalizada se ha ejecutado. Puedo confirmar que la CA se ejecuta y que la propiedad se configuró correctamente. La IU se actualizará si realizo alguna otra acción que haga que se actualice, p. vuelve una página y vuelve a esta página y el botón Siguiente se habilitará.
¿Alguna idea sobre cómo actualizar un estado de botones después de una acción personalizada?
Eso funcionó maravillosamente. En mi opinión, una solución mucho mejor que el enfoque de diálogo doble. Sin embargo, experimento unos segundos de retraso entre la finalización de la acción y el botón activado. Definitivamente no es un problema, solo una curiosidad. – bigfoot
Ha pasado un tiempo desde que lo usé, pero de memoria fue bastante instantáneo para mí, ¿quizás algo relacionado con tu acción? –