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>;
        }

我想从可观察的集合中获取客户姓名和客户电子邮件。

4

2 回答 2

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
    }
}
于 2012-06-19T16:43:18.087 回答
0

您可以从查看类开始CollectionViewSource。这会跟踪当前项目(您可能必须IsSynchronizedWithCurrentItem=true在列表框绑定上)。您可以改为绑定到 this 并传递它。

如果这不能回答您的问题,我会尝试提出一个更详细的示例。

于 2012-06-19T16:47:23.703 回答