2012-06-19 2 views
0

Я использовал listbox.itemsource как мой e.Result.Как получить стоимость внутри наблюдаемой коллекции?

<ListBox Height="476" HorizontalAlignment="Left" Margin="11,17,0,0" Name="ListBox1" VerticalAlignment="Top" Width="434" Foreground="#FFF5F5F1" > 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
<StackPanel Orientation="Vertical"> 
          <TextBlock Height="40" HorizontalAlignment="Left" Margin="8,24,10,0" Name="txtBlockCustName" Text="{Binding CustName, Mode=OneWay}" VerticalAlignment="Top" FontSize="26" /> 

          <TextBlock Height="40" HorizontalAlignment="Left" Margin="8,24,0,0" Name="txtBlockCustEmail" Text="{Binding CustEmail, Mode=OneWay}" VerticalAlignment="Top" FontSize="26" /> 
    </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 

Как я могу получить значение привязки данных?

void proxy_FindProfileCompleted(object sender, FindProfileCompletedEventArgs e) 
     { 
      ListBox1.ItemsSource = e.Result; 
      ObservableCollection<Customer> Customers = this.ListBox1.ItemsSource as ObservableCollection<Customer>; 
     } 

Я хочу получить имя клиента и электронную почту клиента из наблюдаемой коллекции.

+0

Я смущен. Значения не отображаются в списке или вы пытаетесь получить что-то еще? – Josh

+0

@Josh, я пытаюсь получить значение внутри listbox, потому что это привязка данных к блочным блокам, поэтому я не могу использовать в качестве обычного имени строки = textblock.text .. –

ответ

1

Я не понимаю, если это то, что вам нужно, но дать ему попробовать:

void proxy_FindProfileCompleted(object sender, FindProfileCompletedEventArgs e) 
{    
    ListBox1.ItemsSource = e.Result; 
    ObservableCollection<Customer> Customers = 
     this.ListBox1.ItemsSource as ObservableCollection<Customer>; 
    foreach(Customer cust in Customers) 
    { 
     // You can get cust.CustName 
     // and you can get cust.CustEmail 
    } 
} 
+0

thnx для ваших ans. он используется для получения одного значения из наблюдаемого коллекционирования. что, если я хочу получить всю ценность только для cust.custname? –

0

Вы могли бы начать, глядя на классе CollectionViewSource. Это отслеживает текущий элемент (у вас может быть IsSynchronizedWithCurrentItem=true в списке). Вы могли бы привязаться к этому и передать его.

Если это не ответит на ваш вопрос, и я попытаюсь привести более подробный пример.

+0

Thnx.Can вы покажите мне более подробный пример? –

Смежные вопросы