我想做以下事情:
<Image X="0" Y="0" Width="20" Height="20" ImageFile="[Status].bmp" />
其中Status
是变量。目前这不起作用,因为ImageFile
属性的内容似乎没有扩展。
我实施了自定义bafunctions.dll
,但无法通过IBootstrapperEngine
找到如何进行控制。
有什么建议吗?
答案 0 :(得分:1)
在WiX v4中,您可以这样做:
<ImageControl X="0" Y="0" Width="20" Height="20" ImageFile="Status1.bmp"
VisibleCondition="Status = Status1" />
<ImageControl X="0" Y="0" Width="20" Height="20" ImageFile="Status2.bmp"
VisibleCondition="Status = Status2" />
虽然页面不会自动刷新。您可能必须使用
ThemeShowPageEx(pTheme, pTheme->dwCurrentPageId, SW_SHOW, THEME_SHOW_PAGE_REASON_REFRESH);
在WiX v3中,没有支持的方法来执行此操作。 bafunctions.dll需要访问THEME
,但WixStdBA不提供v3中的功能。我猜你理论上可以获得顶级窗口并枚举所有子控件,直到找到正确的控件来显示或隐藏,并将它们初始设置为不可见。
<Image X="0" Y="0" Width="20" Height="20" ImageFile="Status1.bmp" Visible="no />
<Image X="0" Y="0" Width="20" Height="20" ImageFile="Status2.bmp" Visible="no />