DataTemplate для Linq - PullRequest
       3

DataTemplate для Linq

0 голосов
/ 06 мая 2011

У меня есть ListBox Dockpanels, которые отображают "FieldName :, [ _ ____] (текстовое поле ввода пользователя) ". После того, как пользователь заполняет поле, я ищу способ LINQ взять пары и выбросить их в объект KeyValuePair.

     <DataTemplate x:Key="ExtraLoginInfoTemplate">
                    <DockPanel>
                        <TextBlock Name="CodeID" Text="{Binding Path=ID,Converter={BLL:CodeMarkupExtension}}" />
                        <TextBox Name="Input"/> 
                    </DockPanel>
                </DataTemplate>

    <ListBox Name="extraLoginInfoListBox" ItemsSource="{Binding}"  ItemTemplate="{StaticResource ExtraLoginInfoTemplate}"/>

    //codebehind

extraLoginInfoListBox.DataContext = cvList; //list of codevalue objects

private void submitButton_click(object sender, RoutedEventArgs e)
{
  KeyValuePair<string,string> myInputs = /* ? some linq query to get the data from extraLoginInfoListBox */ 

}

1 Ответ

1 голос
/ 06 мая 2011

Вам необходимо привязать свойство к вашему текстовому полю Input , чтобы сохранить любое значение, введенное пользователем:

<TextBox Name="Input" Text="{Binding Path=IDValue, Mode=TwoWay}" /> 

И затем вы можете использовать следующий код:

var keyValuePairs = cvList.ToDictionary((obj) => obj.ID, (obj) => obj.IDValue);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...