Как сделать фон флажка прозрачным в wix?
Как сделать фон флажка прозрачным или белым?
3 ответа
Это довольно распространенная жалоба. Быстрый ответ - нет, нет способа сделать это красиво. Позвольте мне процитировать учебник WiX Toolset:
И распространенная жалоба: нет, флажок не может иметь прозрачного фона. Если у вас есть растровое изображение на заднем плане, оно будет ужасным, как в нашем примере выше. Единственный обходной путь - уменьшить ширину флажка до самого поля и разместить рядом с ним дополнительный статический текст (их можно сделать прозрачным).
Недостатком описанного обходного пути является то, что вы не сможете щелкнуть текст в метке, чтобы установить / снять флажок. Вам нужно будет нажать прямо в элемент управления.
Однако есть еще один (еще более уродливый) обходной путь: спроектируйте последний диалог так, чтобы по умолчанию была серая область для установки флажка.
Обходной путь, который я использовал, - это создать новую версию встроенного набора диалогов WiX "Mondo", где я изменяю конечный диалог, чтобы он содержал гораздо меньшее изображение, которое не покрывает всю поверхность диалогового окна. Это должно позволить естественному цвету фона - обычно серому - заполнить остальную часть диалогового окна. Снимок экрана ниже:
https://github.com/glytzhkof/WiXOpenLogFile
Могут быть побочные эффекты, но это должно позволить цвету фона диалогового окна правильно заполнить диалоговое окно:
Основной фрагмент файла wxs:
<Binary Id="MyOwnExitBitmap" SourceFile="myOwnExit.bmp" />
Фрагмент файла диалогового окна wxs:
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="70" Height="70" TabSkip="no" Text="MyOwnExitBitmap" />
См. Полный пример выше на github.com.
Не прямой ответ, а просто еще один обходной путь, который в некоторых случаях может подойти. Если это всего лишь один флажок, например, запустить приложение/readme/что угодно, то его можно поместить на панель кнопок с таким же фоном: