2

wix Edit コントロールで検証を行い、ユーザーが文字列を入力した場合にのみ [次へ] ボタンを使用できるようにするにはどうすればよいですか (空にすることはできません)。

<Property Id="BASEKITPATH" Value=" " />

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
  <Condition Action="disable"><![CDATA[BASEKITPATH = " "]]></Condition> 
  <Condition Action="enable"><![CDATA[BASEKITPATH <> " "]]></Condition>
</Control>

上記のコードでは、インストーラーの起動時に [次へ] ボタンが読み取り専用になっていますが、テキストを変更しても [次へ] ボタンは何も変更されず、[次へ] は読み取り専用のままです

問題に見えるのは

4

2 に答える 2

2

これは、基盤となる Windows インストーラーの既知の制限です。UI が表示されている間に変更されたプロパティを検証しないため、ControlConditions が機能しないこのようなシナリオがあります。

一般的な回避策は、相互に排他的な ControlEvents を使用することです。1 つは SpawnDialog を呼び出して検証エラー メッセージを表示し、もう 1 つは次の該当するダイアログに移動します。

于 2012-09-09T20:10:59.930 に答える