如何更改为“编辑”的文本值<Control />
从C#自定义操作?
我可以填充“组合框”控制,但我不能找到一种方法来改变“编辑”控制值。
如何更改为“编辑”的文本值<Control />
从C#自定义操作?
我可以填充“组合框”控制,但我不能找到一种方法来改变“编辑”控制值。
如果你正在处理一个文件浏览器对话框或文件夹的浏览器对话框(工作会为你的情况也一样),执行自定义操作后发布更改的属性。 最好的,如果你调用自定义操作之前复位。 见下面的例子
<Control Id="editLocation" Type="Edit" X="45" Y="174" Height="18" Width="220" Property="YOUR_PROPERTY" Text="[YOUR_PROPERTY]"/>
<Control Id="btnEditLocation" Type="PushButton" X="270" Y="175" Width="56" Height="17" Text="Browse" Property="YOUR_PROPERTY">
<Publish Event="Reset" Value="1">1</Publish>
<Publish Event="DoAction" Value="YOUR_CUSTOM_ACTION"><![CDATA[1]]></Publish>
<Publish Property="YOUR_PROPERTY" Value="[YOUR_PROPERTY]"><![CDATA[1]]></Publish>
</Control>
以及由Nilaksha佩雷拉的建议连接的属性,我的做法是移动Reset
动作到C#自定义操作。 通过这种方式,我们可以选择调用它,只有当自定义操作即将成功完成。 这有除非已经指定了替换值不清除编辑控件的值的优势。
一个例子自定义控件:
public static ActionResult FileBrowser(Session session)
{
try
{
// Call your file browser here.
session[VALUE] = "New value";
session.DoAction("Reset");
return ActionResult.Success;
}
catch (Exception ex)
{
session.Log($"Unable to launch the file browser: {ex.Message}");
return ActionResult.Failure;
}
}
该Control
单元有一个Property
的属性。 这个属性保存属性,它定义了控件的值,你的情况,编辑控件的名称。 当您更改此链接属性的值时,控制开始显示这种新的价值。
然而,对话框“刷新”,才能使更改变得可见。 只要Windows安装程序的用户界面是非常有限的,不公开的大各种各样的事件,你应该把它周围莫名其妙。
举例来说,假设你需要在编辑器更改值时,它被放置在对话框只是加载。 您可以通过以下方式实现这一目标:在先前的对话框,指定DoAction
上的事件Next
按一下按钮,并运行此事件自定义操作。 因此,当被加载的下一个对话框编辑控件将显示所期望的值。
附注:它可能会证明,你并不需要一个C#自定义操作-在SetProperty
可能就足够了。 如果是这样的情况下,尽可能使用它。