【问题标题】:How can I change the width of the Textbox in the header?如何更改标题中文本框的宽度?
【发布时间】:2017-12-07 09:38:02
【问题描述】:

我们正在使用 Wix 工具集 3.11 来构建 .msi。我们使用包含我们公司徽标的横幅:

<WixVariable Id="WixUIBannerBmp" Value="Banner.bmp"/>

问题:我们的徽标宽度为 130 像素。在某些Dialogs中,header中的文字太长,与Logo冲突:

问题:我们如何限制标题中文本框的宽度,以便文本会分到下一行?

【问题讨论】:

标签: wix wix3 windows-installer wix3.8


【解决方案1】:

在您的 .wxl 文件中添加一个 UI 元素并设置对话框的 Description 控件的宽度:

<WixLocalization>
    [...]
    <UI Dialog="InstallDirDlg" Control="Description" Width="whatever, default 280"/>
</WixLocalization>

除了Description 控件,您还可以更改Title 控件的宽度。

How to customize UI Dialogs in Wix to modify location/size of Labels

如果您希望您的文本在控件中换行,请务必将 Height 属性也设置得足够大。例如。要将上述控件的高度加倍,请设置 Height="30"。

【讨论】:

  • 这是不正确的。 UI 元素不包含属性“Diealog”、“Control”或“Width”,如您在文档中所见:wixtoolset.org/documentation/manual/v3/xsd/wix/ui.html
  • 一个很好的答案。当我在 .wxl 文件中使用此 UI 时:&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;WixLocalization xmlns="http://schemas.microsoft.com/wix/2006/localization" Culture="en-us" Codepage='1252'&gt; [...] &lt;UI Dialog="InstallDirDlg" Control="Description" Width="50" /&gt; &lt;/WixLocalization&gt; 然后文本将被剪切并附加三个点:'单击 nex ...'。我想通过投票来奖励你。我等待有人可以告诉我一个解决方案,将文本放在一个新行中(就像 InnoSetup 一样)。
  • @Simon 您不能将宽度应用于所有对话框。它们是单独定义的,参见github.com/wixtoolset/wix3/tree/develop/src/ext/UIExtension/…
  • @Simon 是的,NoWrap=No 是默认值,但该特定控件不够高,无法包含另一行文本。我更新了答案。
  • 当我将 height 属性设置为 20 时,文本现在换行。非常感谢。
猜你喜欢
  • 2016-06-05
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 2021-08-20
相关资源
最近更新 更多