小编Ayd*_*yed的帖子

无法转换类型为WhereSelectListIterator 2 System.Collections.Generic.List的对象

我正在处理这些列表,以获得与组合框中所选项目匹配的项目.

private void InitializaMessageElement()
{
    if (_selectedTransactionWsName != null)
    {
Run Code Online (Sandbox Code Playgroud)
  1. 获取与下拉列表中所选项目匹配的事务Web服务名称,输出= TestWS,这是正确的

    var getTranTypeWsName = TransactionTypeVModel
         .GetAllTransactionTypes()
         .FirstOrDefault(transTypes => 
                 transTypes.WsMethodName == _selectedTransactionWsName);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从treenode列表中循环wsnames列表.在这里它给了我所有正确的节点.

    var wsNameList = MessageElementVModel
         .GetAllTreeNodes().Select(ame => 
                 ame.Children).ToList();//. == getTranTypeWsName.WsMethodName);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在wsNameList中找到getTranTypeWsName.WsMethodName.这是我遇到问题的地方:

          var msgElementList = wsNameList.Select(x => x.Where(ame => getTranTypeWsName != null && ame.Name == getTranTypeWsName.WsMethodName)).ToList();
    
    Run Code Online (Sandbox Code Playgroud)

我的MsgElement列表:

    MsgElementObsList = new ObservableCollection<MessageElementViewModel>(msgElementList);
    this.messageElements = _msgElementList;
    NotifyPropertyChanged("MessageElements");
}
Run Code Online (Sandbox Code Playgroud)

这里抛出了施法错误.为什么不工作?我是LINQ的新手.谢谢

linq

9
推荐指数
1
解决办法
2万
查看次数

自动完成遵循MVVM模式的TextBox

我有一个文本框,我想让它成为一个自动完成文本框.我输入文本框时要显示的数据来自我的数据网格.我的datagrid有4列,我可以从datagrid中选择任何列.

这是我的文本框

         <TextBox Margin="0,93,39,18" Grid.Column="1" HorizontalAlignment="Right" Width="325">
            <TextBox.Style>
                <Style TargetType="TextBox">
                    <Style.Triggers>
                        <Trigger Property="Text" Value="">
                            <Setter Property="Background" Value="{StaticResource SearchHint}"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </TextBox.Style>
        </TextBox>
Run Code Online (Sandbox Code Playgroud)

数据网格

    <DataGrid Name="Datagrid"  ItemsSource="{Binding Messages}" Margin="4,0,380,413" Grid.Row="1" AutoGenerateColumns="False"  
    IsReadOnly="True"  RowBackground="WhiteSmoke" >
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索,我得到的大部分样本都没有遵循WPF/MVVM模式.我要做的是将文本块数据绑定到网格项目.有人可以通过给我点到哪里开始帮助我.

data-binding wpf combobox autocomplete mvvm

6
推荐指数
1
解决办法
8250
查看次数

何时为WPF/MVVM使用事件和命令?

我正在练习如何使用MVVM模式编写WPF应用程序.到目前为止,我还没有在我的代码中使用命令.在我的Viewmodel中,我实现INotifyPropertyChanged并使用(事件PropertyChangedEventHandler PropertyChanged)来触发事件.为什么我觉得我仍然错过了一些关于如何使用命令的WPF概念?

什么时候使用命令?

c# wpf events command mvvm

4
推荐指数
1
解决办法
3063
查看次数

Foreach循环到linq

这可能非常简单,但我无法在转换后看到数据

public void SearchGrid(int id, ObservableCollection<TestModel> msgField)
{ 
  foreach (var c in msgField)
    DisplayColor = c.Id == id ? Brushes.Blue : Brushes.Black;
}
Run Code Online (Sandbox Code Playgroud)

LINQ:

Enumerable.FirstOrDefault(msgField.Where(x => x.Id == id), x => { DisplayColor = Brushes.CadetBlue; });
Run Code Online (Sandbox Code Playgroud)

linq foreach

0
推荐指数
1
解决办法
50
查看次数

标签 统计

linq ×2

mvvm ×2

wpf ×2

autocomplete ×1

c# ×1

combobox ×1

command ×1

data-binding ×1

events ×1

foreach ×1