Мне нужен элемент управления WPF, который работает аналогично окну «Разрешить конфликты» в TFS и других подобных системах управления версиями.WPF Binding и Custom ListView и ListViewItems
У меня есть следующие классы
public class Conflict:INotifyPropertyChanged
{
private string _name;
private List<Resolution> _resolutions;
private bool _focused;
private bool _hasResolutions;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged("Name");
}
}
public List<Resolution> Resolutions
{
get { return _resolutions; }
set
{
_resolutions = value;
OnPropertyChanged("Resolutions");
}
}
public bool Focused
{
get { return _focused; }
set {
_focused = value;
OnPropertyChanged("Focused");
}
}
public bool HasResolutions
{
get { return _resolutions.Any(); }
set
{
_hasResolutions = value;
OnPropertyChanged("HasResolutions");
}
}
}
public class Resolution
{
public string Name { get; set; }
public void Resolve()
{
//Logic goes here
}
}
Это почти идентично функциональности Team Foundation Server (TFS) 'разрешение конфликтов' показано ниже окно:
Для каждой строки в изображении выше, это то же самое, что и мой объект Conflcit, и для каждой из кнопок был бы одним из объектов Resolution на объекте Conflict.
Мой план состоял в том, чтобы связать мой список с ListView, а затем написать собственный шаблон или что-то еще, чтобы скрыть/показать кнопки под ним на основе того, был ли он выбран или нет.
Чтобы попытаться упростить то, что мне нужно для достижения, у меня есть список, и я хочу привязать его к элементу управления, и он будет выглядеть как можно ближе к изображению сверху.
Как бы это сделать и XAML и код позади?
Я только попытался сделать пользовательские ItemTemplate, но я не очень далеко. Проблема, с которой я сталкиваюсь, я не знаю, как динамически добавлять кнопки для каждого из объектов Resolution, которые у меня есть. Его почти как, мне нужен «повторитель» для каждого объекта разрешения при каждом конфликте. – TheJediCowboy