У меня есть наблюдаемая коллекция с объектами канала внутри.Я пытался привязать эту коллекцию Observable к DataGrid следующим образом:
XAML:
<DataGrid Grid.Row="1" Grid.ColumnSpan="5" Height="45" Margin="30,10,30,255" ItemsSource="{Binding MGWChannels[0], Source={StaticResource MainWindowViewModel}, Mode=TwoWay}"
AutoGenerateColumns="False" HorizontalAlignment="Stretch" CanUserAddRows="False" RowHeaderWidth="0" >
<DataGrid.Columns>
<DataGridTextColumn Header="Max Retries" Width="auto" Binding="{Binding MGWChannels[0].MaxRetries, Source={StaticResource MainWindowViewModel}}" />
<DataGridTextColumn Header="Backoff Time GW Unreachable" Width="auto" Binding="{Binding MGWChannels[0].BotwUnreachable, Source={StaticResource MainWindowViewModel}}"/>
<DataGridTextColumn Header="Backoff Time GW Busy" Width="auto" Binding="{Binding MGWChannels[0].BotwMGWBusy, Source={StaticResource MainWindowViewModel}}"/>
<DataGridTextColumn Header="Backoff Time GW Error" Width="auto" Binding="{Binding MGWChannels[0].BotwMGWError, Source={StaticResource MainWindowViewModel}}"/>
<DataGridTextColumn Header="Strategy" Width="*"/>
</DataGrid.Columns>
</DataGrid>
Observable Collection в ViewModel:
private ObservableCollection<Channel> _mgwChannels;
public ObservableCollection<Channel> MGWChannels
{
get
{
return this._mgwChannels;
}
set
{
this._mgwChannels = value;
RaisePropertyChanged("MGWChannels");
}
}
К сожалению, это не сработалокак и ожидалось - поскольку в Наблюдаемой Коллекции есть 3 Объекта, я хотел создать 3 DataGrids и связать их с [0], [1] и [2].Без [0] он работает, но помещает все 3 объекта в список, и я хочу отображать только один объект на сетку данных, а не все.
Почему это не работает?Что я упускаю?