У меня есть проблема с настройкой включенного состояния кнопки в диалоговом окне. Рассматриваемая кнопка определяется как:
<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>
Свойство Validated начинается с начального значения 0, и, как и ожидалось, следующая кнопка начинает отключаться.
<Property Id="Validated" Value="0"/>
Само свойство изменяется с помощью настраиваемого действия на другой кнопке.
<Control Id="PerformValidation" Type="PushButton" X="225" Y="75" Width="50" Height="20" Text="Validate">
<Publish Event="DoAction" Value="ValidateDB">1</Publish>
</Control>
С урезанной версией настраиваемого действия, например:
[CustomAction]
public static ActionResult ValidateDatabase(Session session)
{
session.Log("Begin ValidateDatabase");
session["Validated"] = "1";
return ActionResult.Success;
}
Проблема, с которой я сталкиваюсь, заключается в том, что Кнопка «Далее» не активируется повторно после выполнения настраиваемого действия. Я могу подтвердить, что центр сертификации работает и свойство успешно установлено. Пользовательский интерфейс обновится, если я выполню какое-либо другое действие, вызывающее его обновление, например, вернусь на страницу, затем снова перейду на эту страницу, и будет активирована кнопка «Далее».
Любые идеи о том, как обновить состояние кнопок после пользовательского Действие?