public class MainWindowVM
{
public MainWindowVM()
{
PersonList = new ObservableCollection<Person>(Employees);
}
private Person[] Employees = new Person[]
{
new Person { ID = 1, Name = "Adam" },
new Person { ID = 2, Name = "Bill" },
new Person { ID = 10, Name = "Charlie" },
new Person { ID = 15, Name = "Donna" },
new Person { ID = 20, Name = "Edward" }
};
public ObservableCollection<Person> PersonList { get; set; }
}
Person.cs
public class Person
{
public string Name { get; set; }
public int ID { get; set; }
}
MainWindow.xaml (versione di lavoro funzionale - non quello che voglio per visualizzare)
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<ComboBox Height="23" Width="300"
ItemsSource="{Binding Path=Objects}"
DisplayMemberPath="Name"
>
</ComboBox>
</Grid>
</Window>
MainWindow.x AML (visualizza correttamente - non funziona correttamente)
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<ComboBox Height="23" Width="300"
ItemsSource="{Binding Path=Objects}"
>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock DataContext="{Binding}">
<TextBlock.Text>
<MultiBinding StringFormat="{} {0} | {1}">
<Binding Path="ID" />
<Binding Path="Name" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</Window>
Il secondo codice visualizza quello che voglio il ComboBox per visualizzare {ID} | {Name}
, ma toglie una funzione comune del ComboBox. Nel primo esempio, quando viene selezionato il ComboBox, l'utente può iniziare a digitarlo e farlo scorrere verso il basso nell'elenco. Ad esempio, se si preme la lettera A, si passa a "Adam", B salta a "Bill", ecc. Ecco come si suppone che funzioni un ComboBox. Ma, quando ignoro il ItemTemplate di ComboBox, perde quella funzionalità. C'è un altro modo per legare ciò di cui ho bisogno e mantenere tale funzionalità o per riattivarla? Forse l'ItemTemplate è impostato in modo errato?
Ho capito la tua domanda correttamente o Stavi cercando qualcosa d'altro? Fammi sapere se ho bisogno di chiarire qualcosa o se sono qui per tracciare il percorso :) –