我正在嘗試編寫一個自定義的WiX對話框,該對話框作爲其工作流程的一部分,在響應某些條件時顯示錯誤圖像。但是,WiX似乎忽略了我的尺寸,並且顯示爲合適。這裏是我的代碼:WiX不能正確呈現圖像
<Binary Id="WixUI_FailureImg" SourceFile="$(sys.SOURCEFILEDIR)..\Resources\Failure.ico" />
<Control Id="TestResult_Failure" Type="Icon" IconSize="16" X="15" Y="206" Width="16" Height="16" Text="WixUI_FailureImg">
<Condition Action="hide">LOGON_VALID = "1"</Condition>
<Condition Action="show">LOGON_VALID = "0"</Condition>
</Control>
我已經包括下面的對話框中的一個片段,在後臺的原始圖像(16×16 .ICO)。正如您所看到的,圖像已經向上縮放,並且圖像周圍沒有透明度。我試過8位和24位位圖以及圖標,但它們都產生相同的結果。有什麼我明顯做錯了嗎?
UPDATE:
如果你想知道如何動態影像作品,這裏的相關章節:
<Control Id="TestResult_Success" Type="Icon" IconSize="16" X="15" Y="210" Width="12" Height="12" Text="WixUI_SuccessImg">
<Condition Action="hide">LOGON_VALID = "0"</Condition>
<Condition Action="show">LOGON_VALID = "1"</Condition>
</Control>
<Control Id="TestPrompt_Success" Type="Text" X="35" Y="210" Width="322" Height="10" Text="!(loc.SqlSelectDlgConnectionValid)">
<Condition Action="hide">LOGON_VALID = "0"</Condition>
<Condition Action="show">LOGON_VALID = "1"</Condition>
</Control>
<Control Id="TestResult_Failure" Type="Icon" IconSize="16" X="15" Y="210" Width="12" Height="12" Text="WixUI_FailureImg">
<Condition Action="hide">LOGON_VALID = "1"</Condition>
<Condition Action="show">LOGON_VALID = "0"</Condition>
</Control>
<Control Id="TestPrompt_Failure" Type="Text" X="35" Y="210" Width="322" Height="10" Text="!(loc.SqlSelectDlgConnectionInvalid)">
<Condition Action="hide">LOGON_VALID = "1"</Condition>
<Condition Action="show">LOGON_VALID = "0"</Condition>
</Control>
正如你從截圖中可以猜測,該頁面與建立SQL連接有關;我有一個自定義操作,它根據用戶的輸入創建連接字符串,並嘗試驗證它。如果它是有效的(LOGON_VALID = "1"
),我會得到一個刻度圖像和一些文字來表示一切都很好,否則我會看到一個警告圖標和一些文字來警告用戶。當然,Next按鈕也由這個值控制。
問一個單獨的問題..很難知道..你動態地改變圖像?我的意思是圖像會按照條件出現? –
是的;所以有一個TestResult_Success控件,如果LOGON_VALID = 1,則顯示一個綠色標記,如果LOGON_VALID = 0,則顯示綠色標記。圖像尺寸相同,位置相同。 –
你可以請分享一些代碼動態更新圖像? –