Вероятно, лучше сделать что-то подобное.Таким образом, вам даже не понадобится какой-либо программный код.
{Binding ElementName=myListView, Path=SelectedItem.ID, UpdateSourceTrigger=PropertyChanged}
Вам нужно будет присвоить ListView такое имя.
<ListView Name="myListView">
Это будет выглядеть примерно так.
<ListView Name="myListView">
<ListView.View>
<GridView>
<GridViewColumn Header="ID" Width="75" DisplayMemberBinding="{Binding ID}" />
<GridViewColumn Header="Name" Width="170" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Price" Width="100" DisplayMemberBinding="{Binding Price}" />
<GridViewColumn Header="Reseller" Width="Auto" DisplayMemberBinding="{Binding Reseller}" />
</GridView>
</ListView.View>
</ListView>
<TextBox Text="{Binding ElementName=myListView, Path=SelectedItem.ID, UpdateSourceTrigger=PropertyChanged}"/>
Редактировать:
Если вы не хотите расширять логику, вы, вероятно, захотите разобраться с использованием ACB
, как с ACB
, вы можете сделать что-то подобное.
acb:CommandBehavior.Event="SelectedItemChanged"
acb:CommandBehavior.Command="{Binding SelectedItemChanged}"
acb:CommandBehavior.CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=SelectedItem}"
Это, по сути, позволит вам сохранять конкретный SelectedItem
каждый раз, когда вы выбираете новый элемент в списке.
http://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/