У меня проблема с привязкой данных в выпадающем списке в просмотре списка.
У меня есть два класса:
Транзакция имеет атрибут Субстрата, и Транзакции сохраняются в Базе данных. В начале программы я хочу загрузить все транзакции в виде списка и показать их в ListView. Каждая возможность субстрата должна быть показана в комбинированном окне, где выбран фактический субстрат.
Я пробовал вот так
XAML
<ListView.View>
<GridView>
<GridViewColumn Header="Menge">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Amount}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Substrate">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding ElementName=InternTransaction, Path=SubstrateList}"
DisplayMemberPath="Description"
SelectedValuePath="SubstrateID"
SelectedItem="{Binding Path=Substrate.SubstrateID}">
</ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
Код-за
public partial class UCInternTransaction : UserControl
{
#region Attribute
private BsCBTTransactionController mTransactionController;
private ObservableCollection<BsCBTSubstrate> mSubstrateList;
#endregion
public UCInternTransaction()
{
InitializeComponent();
//Load Transactions
this.mTransactionController = WpfBioGas.Core.BsCAppFactory.getInstance().getCBTTransactionController();
this.mTransactionController.loadTransactions();
this.DataContext = this.mTransactionController.TransactionList;
loadData();
}
private void loadData()
{
//Load Substrate and bind to CBSubstrate
this.mSubstrateList = new ObservableCollection<BsCBTSubstrate>();
foreach (BsCBTSubstrate sub in WpfBioGas.Core.BsCAppFactory.getInstance().getBTFacade().BsBTSubstrate.loadAll())
{
this.mSubstrateList.Add(sub);
}
}
public ObservableCollection<BsCBTSubstrate> SubstrateList
{
get { return this.mSubstrateList; }
}
}
Проблема в том, что все записи списка отображаются в виде списка, и для каждой строки все возможности субстрата находятся в комбинированном списке. Но только для первой строки ListView выбирается фактический субстрат.