【发布时间】:2015-12-09 19:07:56
【问题描述】:
这是我的问题:我有 3 个ComboBoxes 从 mdb 文件中读取数据。
从第一个中选择的值将影响在第二个中显示的内容,从第二个中选择的值将影响在第三个中显示的内容。第三个结果将填充到TextBox。
这是我用来加载数据的代码:
function GetData() {
$objOleDbConnection1= New-Object "System.Data.OleDb.OleDbConnection"
$objOleDbCommand = New-Object "System.Data.OleDb.OleDbCommand"
$objOleDbAdapter = New-Object "System.Data.OleDb.OleDbDataAdapter"
$objDataTable = New-Object "System.Data.DataTable"
$objOleDbConnection1.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Script\test_1.mdb;"
$objOleDbConnection1.Open()
$objOleDbCommand.Connection = $objOleDbConnection1
$objOleDbCommand.CommandText = "SELECT SORT + ' ' + '-' + ' ' + Tekst, SAPstruktur FROM SAPstruktur where SAPstruktur like 'A__' ORDER BY ID ASC"
#set the Adapter object
$objOleDbAdapter.SelectCommand = $objOleDbCommand
#fill the objDataTable object with the results
$objOleDbAdapter.Fill($objDataTable)
return $objDataTable.DefaultView
$objOleDbConnection1.Close()
}
这是我的组合框 #1 的 XAML 代码:
<ComboBox x:Name="mdb" HorizontalAlignment="Left" VerticalAlignment="Top" Width="275" Grid.Column="1" DisplayMemberPath="Expr1000" SelectedValuePath="SAPstruktur" ItemsSource="{Binding PsList[GetData]}" SelectedIndex="0"/>
问题:如何连接所有这 3 个组合框?我设法填充了所有三个组合框(调用函数 GetData、GetData1 等),但我不知道如何将它们连接在一起。
我使用 WPF 对话窗口 (XAML) + PowerShell 文件,所以我猜想该操作发生在 ps1 中,将结果发送到 XAML。
提前致谢!
【问题讨论】:
-
我不完全确定连接组合框是什么意思。你能描述一下你通过“连接”他们想要达到的目标吗?
-
这可能会有所帮助:
$combo1.Add_DropDownClosed({ #populate $combo2 }),$combo2.Add_DropDownClosed({ #populate $combo3 })@Mathias R Jessen 看图片 -
感谢您的回复。通过连接我意味着以某种方式绑定它们,如果我从第一个中选择一个值,这个选择将影响第二个中的列表值,从第二个中选择的值将影响第三个中的值列表...@ sodawillow:我需要将任何变量绑定到 WPF 吗?我应该把这段代码放在哪里?函数内部??
-
@sodawillow : 我需要将任何变量绑定到 WPF 吗?我应该把这段代码放在哪里?函数内部??请记住,组合框不在 powershell 脚本中。它位于 xaml 文件中,因此需要在 powershell 脚本变量和 WPF (xaml) 之间进行一些绑定。
-
你可以阅读这篇文章来学习如何做:learn-powershell.net/2014/08/01/powershell-and-wpf-checkboxes(已编辑)
标签: wpf xaml powershell combobox