首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF VB DataGridCombox DataGridRow

WPF VB DataGridCombox DataGridRow
EN

Stack Overflow用户
提问于 2021-01-20 23:14:13
回答 1查看 44关注 0票数 2

我已经做了几天了,还是找不到解决方案,请帮帮忙。

我有一个WPF应用程序,我有一个DataGridCombobox,它里面有东西(参数列表)。我还可以在组合框中添加自由输入的文本,如"Test“,如下图所示。

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

这是vb。

代码语言:javascript
复制
 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#代码

代码语言:javascript
复制
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编写的

但不在物理列表本身中。任何帮助都是非常有帮助的。

EN

回答 1

Stack Overflow用户

发布于 2021-01-21 07:19:30

请注意,您的问题不太可能得到好的答案,因为它非常具体,我们没有办法运行您的代码。

但是,当您在一个没有实现任何巧妙的文本格式的对象上运行ToString时,xFRACASDataController.xFRACASFieldMapper+FieldMappingRow是一种字符串-它似乎是一个类的名称,在本例中是FieldMappingRow (在xFRACASFieldMapper中是一个嵌套类)。

在您发布的代码中,您在线调用VB代码中的ToString

代码语言:javascript
复制
dataMapViewModel.AddtoArgumentDropDownList(sender.Items.CurrentItem.ToString)

sender.Items.CurrentItem的类型是什么?这可能是FieldMappingRow的一个实例?如果是这样,那么我认为您需要通过调用ToString以外的其他方式从对象中提取文本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65812303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档