我需要一个WPF控件,其功能类似于TFS中的“解决冲突”窗口以及其他类似的源代码控制系统。WPF绑定和自定义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
}
}
这几乎等同于团队基础服务器(TFS)的功能性“解决冲突”如下所示窗口:
对于每一行在上面的图像中,它与我的Conflcit对象相同,并且对于每个按钮,它们都是冲突对象上的一个Resolution对象。
我的计划是将我的列表绑定到一个ListView,然后编写一个自定义模板或任何隐藏/显示它下面的按钮,基于它是否被选中。
为了简化我需要完成的工作,我有一个List,我想将它绑定到一个控件,并且它看起来尽可能接近上面的图像。
我该如何实现这一点以及XAML和后面的代码?
我只是试图让一个自定义的ItemTemplate,但我没有走得很远。我遇到的问题是我不确定如何为每个Resolution对象动态添加按钮。它几乎就像,我需要在每个冲突 – TheJediCowboy