2017-02-21 122 views
2

我在我的wix項目中創建了一個ListBox,我想用來自自定義操作的值填充該ListBox。我想要的是,點擊按鈕我的自定義動作應該被調用,並進一步我的ListBox應該填充。我不知道什麼是錯的。所以,如果有人知道如何去做,請幫忙。提前Thanx。在wix安裝程序中填充ListBox

代碼在我的自定義操作: -

Database db = session.Database; 
string var = db.Tables["ListBox"].SqlInsertString + "TEMPORARY"; 
Microsoft.Deployment.WindowsInstaller.View var2 = db.OpenView(var); 
var2.Execute(new Record(new object[] {"PROPERTY NAME", 5, "5", "value"})); 
var2.Close(); 

代碼在維克斯項目: -

<Control Id="ANY ID" Property="PROPERTY NAME" Type="ListBox" X="20" Y="20" Width="300" Height="300" Sorted="yes"> 
<ListBox Property="PROPERTY NAME"> 
    <ListItem Text="[PROPERTY NAME]" Value="[PROPERTY NAME]"/> 
</ListBox> 
</Control> 

守則按鈕調用自定義操作和財產清爽值是在列表框設置: -

<Control Id="ANY ID" Type="PushButton" Text="[Next]" Height="200" Width="200" X="160" Y="160" Bitmap="yes" FixedSize="yes" Default="yes"> 
<Publish Event="DoAction" Value="CustomAction">1</Publish> 
<Publish Property="PROPERTY NAME" Value="[PROPERTY NAME]" Order="2">2</Publish> 
</Control> 

畢竟,我無法看到在自定義表格中插入的值行動或換句話說,完成這一切後,ListBox沒有被填充。

回答

2

它不會這樣工作。 我們必須在加載下一個對話框時調用自定義動作。 這適用於我: -

<InstallUISequence> 
<Custom Action="NAME_OF_CUSTOM_ACTION" Before="DIALOG_NAME_ON_WHICH_YOU_WANT_TO POPULATE_THE_LISTBOX"/> 
<Show Dialog="DIALOG_NAME_ON_WHICH_YOU_WANT_TO POPULATE_THE_LISTBOX" 
After="PREVIOUS_DIALOG_NAME"/> 
</InstallUISequence>