在类型为 edit 的控件元素中显示文本

Displaying text inside a control element with type edit

非常简单:我想要一个编辑字段,其中已经有文本(一种默认值)但也是可编辑的。 我尝试了很多不同的版本,但还没有一个想要工作。

这是我试过的最后一个版本(复选框工作得很好):

<Property Id="MYPROPERTY" Value="default" />
        <UI>
            <Dialog Id="ConfigVariablesDlg" Width="370" Height="270">
                <Control Type="Edit" Id="InputField" Property="MYPROPERTY" X="125" Y="27" Width="100" Height="15" Indirect="yes" Text="[MYPROPERTY]">
                    <Condition Action="disable"><![CDATA[EnableBox<>"1"]]></Condition>
                    <Condition Action="enable">EnableBox="1"</Condition>
                </Control>
                <Control Type="CheckBox" Id="MyBox" Width="10" Height="10" X="110" Y="30" Property="EnableBox" CheckBoxValue="1"/>
            </Dialog>
        </UI>

当你定义你的 属性 时,你只需要像这样给它分配一个值

<Property Id="MYPROPERTY">Text you want to fill in</Property>

因此,您从 Control 元素中删除了值字段,并预先定义了 属性。 (仍在您的 UI 元素中!)

所以最后你的代码应该看起来像这样

<UI>
    <Property Id="MYPROPERTY">Text you want to fill in</property>
    <Dialog Id="ConfigVariablesDlg" Width="370" Height="270">
        <Control Type="Edit" Id="InputField" Property="MYPROPERTY" X="125" Y="27" Width="100" Height="15" Indirect="yes">
            <Condition Action="disable"><![CDATA[EnableBox<>"1"]]></Condition>
            <Condition Action="enable">EnableBox="1"</Condition>
        </Control>
        <Control Type="CheckBox" Id="MyBox" Width="10" Height="10" X="110" Y="30" Property="EnableBox" CheckBoxValue="1"/>
    </Dialog>

*编辑我也很漂亮(但不完全确定)

![CDATA[EnableBox<>"1"]]

应该是

![CDATA[EnableBox<>1]]

至少这对我有用