Я пытаюсь привязать свойство List SubscribedSymbols в объекте класса StrategySubscription как часть List к выпадающим спискам в каждой ячейке определенного столбца в Devexpress GridControl, но не могу заставить работать привязку данных.
Автоматический генератор столбцов работает и помещает значения в сетку. Итак, я уверен, что данные существуют.
Я приложил код xaml и объект данных, а также скриншот текущего вывода.
Не могли бы вы помочь заставить привязку данных работать правильно? Я хочу, чтобы коллекция строк в SubscribedSymbols была заполнена в комбинированных списках каждой ячейки в шаблонном столбце.
P.S .: Первые 3 столбца сетки и связанные ячейки связываются отлично, единственная проблема заключается в привязке данных к комбинированному списку в каждой ячейке последнего столбца.
public class StrategySubscription
{
public Guid StrategyId { get; set; }
public string StrategyName { get; set; }
public int CapitalAllocation { get; set; }
public List<string> SubscribedSymbols { get; set; }
public StrategySubscription(string strategyName, Guid strategyId, int capitalAllocation, List<SymbolSubscription> symbolSubscriptions)
{
StrategyName = strategyName;
StrategyId = strategyId;
CapitalAllocation = capitalAllocation;
SubscribedSymbols = symbolSubscriptions.Select(x => x.Symbol.SymbolId).ToList();
//SubscribedSymbols = String.Join(", ", symbolSubscriptions.Select(x => x.Symbol.SymbolId).OrderBy(x=>x));
}
}
<dxg:GridControl x:Name="StrategyGrid" ItemsSource="{Binding StrategySubscriptions}" AutoGenerateColumns="None">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="Strategy Id" Binding="{Binding StrategyId}"/>
<dxg:GridColumn Header="Strategy Name" Binding="{Binding StrategyName}"/>
<dxg:GridColumn Header="Strategy Capitalization" Binding="{Binding CapitalAllocation}"/>
<dxg:GridColumn Header="Symbol Subscription">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding SubscribedSymbols}"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowEditing="False" AutoWidth="True" BestFitArea="All" AllowBestFit="True" ShowGroupPanel="True" ShowSearchPanelMode="Always" NavigationStyle="Row"/>
</dxg:GridControl.View>
</dxg:GridControl>