我已经做了几天了,还是找不到解决方案,请帮帮忙。
我有一个WPF应用程序,我有一个DataGridCombobox,它里面有东西(参数列表)。我还可以在组合框中添加自由输入的文本,如"Test“,如下图所示。

当我添加"Test“并单击离开或添加新行时,我应该会在Combobox下拉列表中看到"Test”。相反,我看到了"xFRACASDataController.xFRACASFieldMapper+FieldMappingRow“,它的核心是”测试“

这是vb。
Private Sub xDcMappingDataGrid_CellEditEnding(sender As Object, e As DataGridCellEditEndingEventArgs) Handles xDcMappingDataGrid.CellEditEnding
'get the list from the data grid on mapping tab
Dim listOfRows As New ObservableCollection(Of FieldMappingRow)
listOfRows = dataMapViewModel.DgRecords
'For Each r In xDcMappingDataGrid.Items
' 'stringList.Add(r)
' listOfRows.Add(r)
'Next
dataMapViewModel.AddtoArgumentDropDownList(sender.Items.CurrentItem.ToString)
'dataMapViewModel.AddtoArgumentDropDownList(sender.ArgumentDropDownList(1))
'dataMapViewModel.AddtoArgumentDropDownList(sender.Items.ToString)
'dataMapViewModel.AddtoArgumentDropDownList(sender.dataGridRow.Item.ToString)
'dataMapViewModel.AddtoArgumentDropDownList("TESTING1")
'dataMapViewModel.AddtoArgumentDropDownList("TESTING2")
'dataMapViewModel.AddtoArgumentDropDownList("TESTING3")
End Sub这是F#代码
member x.AddtoArgumentDropDownList(argumentText:string) =
argumentDropDownList.Add(argumentText)
//Add new Argument in Text to argumentDropDownList
//Check to see if Text is already in the argumentDropDownList
//If its there throw it way
//if Not add it to the argumentDropDownList
member x.ArgumentDropDownList
with get() = argumentDropDownList
and set(t: List<string>) =
argumentDropDownList.Clear()
for aField in t do
argumentDropDownList.Add(aField)
x.TriggerPropertyChanged("ArgumentDropDownList")
member x.Arg1
//with get() = argumentDropDownList
with set(t: string) =
//argumentDropDownList.Clear()
//for aField in t do
argumentDropDownList.Add(t)
x.TriggerPropertyChanged("ArgumentDropDownList")如果我把Jam "TESTING1“放在组合框的下拉列表中。我已经向Items.CurrentItem添加了一块手表。如下所示。“测试”是用Arg1编写的

但不在物理列表本身中。任何帮助都是非常有帮助的。
发布于 2021-01-21 07:19:30
请注意,您的问题不太可能得到好的答案,因为它非常具体,我们没有办法运行您的代码。
但是,当您在一个没有实现任何巧妙的文本格式的对象上运行ToString时,xFRACASDataController.xFRACASFieldMapper+FieldMappingRow是一种字符串-它似乎是一个类的名称,在本例中是FieldMappingRow (在xFRACASFieldMapper中是一个嵌套类)。
在您发布的代码中,您在线调用VB代码中的ToString:
dataMapViewModel.AddtoArgumentDropDownList(sender.Items.CurrentItem.ToString)sender.Items.CurrentItem的类型是什么?这可能是FieldMappingRow的一个实例?如果是这样,那么我认为您需要通过调用ToString以外的其他方式从对象中提取文本。
https://stackoverflow.com/questions/65812303
复制相似问题