コンボボックスから選択したアイテムに一致するアイテムを取得するために、これらのリストに取り組んでいます。
private void InitializaMessageElement()
{
if (_selectedTransactionWsName != null)
{
ここのドロップダウンから選択した項目に一致するトランザクション Web サービス名を取得します。output=TestWS は正しいです
var getTranTypeWsName = TransactionTypeVModel .GetAllTransactionTypes() .FirstOrDefault(transTypes => transTypes.WsMethodName == _selectedTransactionWsName);
treenode リストから wsnames のリストをループします。ここでは、私が持っているすべての正しいノードが表示されます。
var wsNameList = MessageElementVModel .GetAllTreeNodes().Select(ame => ame.Children).ToList();//. == getTranTypeWsName.WsMethodName);
wsNameList で getTranTypeWsName.WsMethodName を見つけます。ここに問題があります:
var msgElementList = MessageElementVModel.GetAllTreeNodes() .Select(ame => ame.Children).Where(c => { c.Where(d => getTranTypeWsName != null && d.Name == getTranTypeWsName.WsMethodName); return false; });
私の MsgElement リスト:
var _msgElementList = new ObservableCollection<MessageElementViewModel>(msgElementList);
this.messageElements = _msgElementList;
NotifyPropertyChanged("MessageElements");
}
ここでは間違ったデータを返しています。フィルタリングされていないリストをすべて返します。出力が一定しないのはなぜですか? 私はLINQが初めてです。