Попытка привязать к коллекции в WPF, я получил следующие работы:Связывание с DataGridComboBoxColumn из коллекции
XAML:
<toolkit:DataGrid Name="dgPeoples"/>
CS:
namespace DataGrid
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1
{
private readonly ObservableCollection<Person> personList = new ObservableCollection<Person>();
public Window1()
{
InitializeComponent();
personList.Add(new Person("George", "Jung"));
personList.Add(new Person("Jim", "Jefferson"));
personList.Add(new Person("Amy", "Smith"));
dgPeoples.ItemsSource = personList;
}
}
}
unnessecary вероятно, но здесь класс лиц:
namespace DataGrid
{
public class Person
{
public string fName { get; set; }
public string lName { get; set; }
public Person(string firstName, string lastName)
{
fName = firstName;
lName = lastName;
}
}
}
Но мне действительно нужно это в DataGridComboBoxColumn. Вот мои изменения:
XAML:
<toolkit:DataGrid Name="dgPeoples" Grid.Row="0" AutoGenerateColumns="False">
<toolkit:DataGrid.Columns>
<toolkit:DataGridComboBoxColumn Width="5*"/>
<toolkit:DataGridComboBoxColumn Width="5*"/>
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
C#:
Пакеты то же самое.
Проблема теперь в том, что я получаю пустые столбцы столбцов! Любые идеи, как я могу заставить это работать?
В конечном счете мне нужно привязать 2 пути, где двойной щелчок на столбце firstname вызывает поле comobo, в котором затем хранятся варианты всех возможных первых имен в коллекции (например, George, Jim and Amy).
Благодарен за любую помощь!
Я подозреваю, что читаю это: http: // blogs.msdn.com/vinsibal/archive/2008/10/31/wpf-datagrid-datagridcomboboxcolumn-v1-intro.aspx - вот где проблема лежит. Мне нужно установить SelectedItemBinding в XAML, но поскольку мой список определен в коде, как мне это сделать? Нет, я не хочу устанавливать его в XAML, потому что другая часть этого приложения позволяет добавлять объекты людей, поэтому список меняется. – baron