ListBox表中的值字段具有String [64]類型。有沒有可能擴大這個64個字符的限制?我需要在那裏存儲一些目錄路徑。Wix:ListBox值限制
回答
在WiX中可能(從未嘗試過)覆蓋ListBox表的默認模式。我在InstallShield知道我只是去直接編輯器並調整它。 WiX有一個用於構建MSI的模板模式,您可以使用Table元素重新定義它。或者它可能只是給你一個錯誤消息,說你正在定義一個衆所周知的表格。
但是,如果超過64個字符,我不確定在ListBox控件中是否會有任何副作用。我在MSI SDK中沒有看到什麼是允許的,所以我猜你的milage可能會有所不同。
這是一個你可能會喜歡的技巧。它被稱爲邪惡的雙胞胎對話技巧。在MSI中看到一個錯誤,即UI元素不能很好地刷新,這個技巧可以解決這個問題。考慮這個:
Dialog1與列表框關聯到屬性TESTPROP和項目一個值1和兩個值2. 顯示[TESTPROP]的文本標籤。
啓動對話框後,單擊列表框中的一行後文本標籤爲空。點擊向後和突然它有1和2的預期文本。
現在創建此對話框(Dialog2)的克隆,並將控件事件放在對話框1的列表框上,說NewDialog對話框2條件= 1並把一個在對話框2的列表框中顯示NewDialog Dialog1條件= 1的控件事件
現在,當你運行它時,屏幕刷新(雖然有一個醜陋的閃爍大)但看起來它是相同的對話框只有它真的是邪惡的雙胞胎正在轉換的對話框,以便數據正確刷新。
現在額外信貸使用您的自定義操作,以做這樣的事情
ListBox中第1個文本C:\臨...富\鮑勃值LISTBOXDIRPROP1 ListBox中第2項文本C:\臨...富\ ED值LISTBOXDIRPROP2
物業LISTBOXDIRPROP1 = C:\ Program Files文件\富\鮑勃 物業LISTBOXDIRPROP2 = C:\ Program Files文件\富\埃德
然後設定爲textLabel顯示[TESTPROP]。這告訴它尊重財產價值的價值。換句話說,TESTPRO = LISTBOXDIRPROP1 = C:\ Proggram Files \ Foo \ Bob
這個技巧可以讓你顯示符合64字符約束的行,但當用戶選擇它時會給出附加信息。
- 1. F#值限制
- 2. xsd限制值
- 3. Excel:限制值
- 4. 限制長度值
- 5. 限制curve_fit的值(scipy.optimize)
- 6. Scala:限制參數值
- 7. F中的值限制#
- 8. FORCE限制列的值
- 9. 處理數據值限制
- 10. Scala限制類參數值
- 11. 絕對值限制R中
- 12. PowerShell的:限制變量值
- 13. 如何在OCaml中強制限制值?
- 14. 將選項值限制爲最大值
- 15. 創建的類值的限制值
- 16. PHP後限制值,限制我的帖子所需的建議
- 17. OpenMDAO> = 1.X.X不強制執行上限值和下限值?
- 18. 如何在不限制輸入值的情況下限制輸入計算值?
- 19. LDAP限制大小限制
- 20. Silverlight限制/限制列表
- 21. 需要限制鍵盤的最大值
- 22. TFS:如何限制字段整數值
- 23. C++比較無限制輸入值
- 24. MySQL的值限制爲1個0
- 25. 設置限制爲一個int值
- 26. 錯誤:沒有限制值Ppl.manager_alloc_strict
- 27. 檢查SQLServer2008Dialect的限制參數值
- 28. SQLite和QSqlQuery:報價限制的值
- 29. PostgreSQL的限制柱至3%的值
- 30. NET中屬性的限制值
謝謝。我已經知道控件刷新問題和雙對話框解決方案並使用它。 – 2012-02-16 08:35:35
使用CustomTable的解決方案無法使用。 Wis只是忽略我的自定義ListBox表並使用String [64]值類型創建默認的ListBox表。 – 2012-02-16 10:08:11
在構建MSI後,嘗試使用Orca編輯架構並查看其行爲。我懷疑64是限制,你必須做我提到的文本標籤技巧。 – 2012-02-16 12:19:57