从绑定属性wpf检索对象

本文关键字:检索 对象 wpf 属性 绑定 | 更新日期: 2023-09-27 18:14:35

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

我还有一个名为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>

在我的channelseup .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事件被调用时,我希望能够知道/获得当前被绑定到的通道对象。如何做到这一点,或者我需要使用不同的方法,方法或事件??

从绑定属性wpf检索对象

DataContext 的comboBox将指向当前频道。

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