ComboBox未显示在Dialog加载上

时间:2012-11-09 20:56:21

标签: combobox wix

我在自定义对话框中声明了以下ComboBox:

    <Control Id="EnvironmentCombobox" Type="ComboBox" Sorted="yes" ComboList="yes" Property="ENVIRONMENT" X="25" Y="110" Width="200" Height="15">
      <ComboBox Property="ENVIRONMENT">
        <ListItem Text="Development" Value="Development" />
        <ListItem Text="SIT" Value="SIT" />
        <ListItem Text="UAT" Value="UAT" />
        <ListItem Text="Production" Value="Production" />
      </ComboBox>
    </Control>

当我运行安装程序并进入该对话框时,直到我将鼠标放在它上面时,ComboBox才会显示。如果我点击导航按钮,它也会出现。如果我离开并返回到对话框,它会再次消失,直到我将鼠标悬停在它上面或点击导航按钮。

我已尝试设置Hidden="no"并增加身高,但没有运气。


在评论中为每个请求添加完整文件。

以上是 EnvironmentDlg

    <?xml version="1.0" encoding="UTF-8"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
        <Fragment>
        <UI>
          <Dialog Id="EnvironmentDlg" Width="370" Height="270" Title="[ProductName] Setup">
            <!-- Layout. -->
            <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.LicenseAgreementDlgBannerBitmap)" />
            <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
            <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />

            <!-- Content. -->
            <Control Id="Title" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Choose environment for [ProductName]" />
            <Control Id="InstallText" Type="Text" X="25" Y="70" Width="320" Height="80" Text="Choose the environment to which [ProductName] is being installed." />
            <Control Id="EnvironmentCombobox" Type="ComboBox" Sorted="yes" ComboList="yes" Property="ENVIRONMENT" X="25" Y="110" Width="200" Height="15">
              <ComboBox Property="ENVIRONMENT">
                <ListItem Text="Development" Value="Development" />
                <ListItem Text="SIT" Value="SIT" />
                <ListItem Text="UAT" Value="UAT" />
                <ListItem Text="Production" Value="Production" />
              </ComboBox>
            </Control>

            <!-- Navigation. -->
            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
              <!-- Don't allow user to continue until they have selected an environment. -->
              <Condition Action="disable">ENVIRONMENT = ""</Condition>
              <Condition Action="enable"><![CDATA[ENVIRONMENT <> ""]]></Condition>
            </Control>
            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
              <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
            </Control>        
          </Dialog>
        </UI>
        </Fragment>
    </Wix>

序列位于 MyWixUI_Unsecured

    <?xml version="1.0" encoding="UTF-8"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
        <Fragment>
        <UI Id="MyWixUI_Unsecured">
          <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
          <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
          <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />

          <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />

          <DialogRef Id="ErrorDlg" />
          <DialogRef Id="FatalError" />
          <DialogRef Id="FilesInUse" />
          <DialogRef Id="MsiRMFilesInUse" />
          <DialogRef Id="PrepareDlg" />
          <DialogRef Id="ProgressDlg" />
          <DialogRef Id="ResumeDlg" />
          <DialogRef Id="UserExit" />

          <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>

          <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="EnvironmentDlg">1</Publish>

          <Publish Dialog="EnvironmentDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
          <Publish Dialog="EnvironmentDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>

          <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="EnvironmentDlg">1</Publish>
        </UI>

        <UIRef Id="WixUI_Common" />
        </Fragment>
    </Wix>

1 个答案:

答案 0 :(得分:2)

问题是关于EnvironmentDlg中的InstallText控件的高度。

将高度更改为25

<Control Id="InstallText" Type="Text" X="25" Y="70" Width="320" Height="25" Text="Choose the environment to which [ProductName] is being installed." />

完整代码:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <UI>
            <Dialog Id="EnvironmentDlg" Width="370" Height="270" Title="[ProductName] Setup">
                <!-- Layout. -->
                <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.LicenseAgreementDlgBannerBitmap)" />
                <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
                <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
                <!-- Content. -->
                <Control Id="Title" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Choose environment for [ProductName]" />
                <Control Id="InstallText" Type="Text" X="25" Y="70" Width="320" Height="25" Text="Choose the environment to which [ProductName] is being installed." />
                <Control Id="EnvironmentCombobox" Type="ComboBox" Sorted="yes" ComboList="yes" Property="ENVIRONMENT" X="25" Y="110" Width="200" Height="15">
                    <ComboBox Property="ENVIRONMENT">
                        <ListItem Text="Development" Value="Development" />
                        <ListItem Text="SIT" Value="SIT" />
                        <ListItem Text="UAT" Value="UAT" />
                        <ListItem Text="Production" Value="Production" />
                    </ComboBox>
                </Control>
                <!-- Navigation. -->
                <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
                <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
                    <!-- Don't allow user to continue until they have selected an environment. -->
                    <Condition Action="disable">ENVIRONMENT = ""</Condition>
                    <Condition Action="enable"><![CDATA[ENVIRONMENT <> ""]]></Condition>
                </Control>
                <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
                    <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
                </Control>
            </Dialog>
        </UI>
    </Fragment>
</Wix>

我建议您使用WixEdit控件来设计UI