从绑定属性wpf中检索对象

时间:2014-07-24 18:50:10

标签: c# .net wpf mvvm

你好我试图从绑定对象列表中检索一个对象。我使用MVVM风格 所以我有一个班级名称频道。 Channel具有以下属性:string Name,string Label,int Id,int assignedLocation等。

我还有一个名为ChannelSetup.xaml的XAML文件,其中有一个

<ListView x:Name="ListView">
  <ListView.View>
    <GridView>
      <GridViewColumn DisplayMemberBinding="{Binding Name}"/>
      <GridViewColumn Width="65" Header="Channel #">
        <GridViewColumn.CellTemplate>
          <DataTemplate>
            <ComboBox "Loaded="LineComboBox_OnLoaded"....
         </GridViewColumn>

在我的ChannelSetup.xaml.cs文件中,我有类似的东西

this.AvailableChannelLines = new ObservableCollection<Channel>();
this.DataContext = this;
this.ListView.ItemsSource = this.AvailableChannelLines;

它会正确填充我的列表视图,一切都很好..

private void LineComboBox_OnLoaded(object sender, RoutedEventArgs e)
{
//// HERE I NEED TO GET THE CURRENT CHANNEL OBJECT
}

但是当调用LineComboBox_OnLoaded事件时,我希望能够知道/获取正被绑定到的当前频道对象。如何做到这一点,或者我需要使用不同的方法,方法或事件?

1 个答案:

答案 0 :(得分:0)

comboBox的

DataContext 将指向当前频道。

private void LineComboBox_OnLoaded(object sender, RoutedEventArgs e)
{
   Channel currentChannel = (sender as ComboBox).DataContext as Channel;
}