编辑c#程序时,我的顶部包含带有using
关键字的命名空间。例如using System;
。
我有一些在我的WPF应用程序中冗余实现的类。我想创建一个参考点来使用整个应用程序中的方法。
例如,当我为ComboBoxes执行数据绑定时,我有一个包含此...的类
public class ComboBoxItemSource : ViewModelBase
{
public ObservableCollection<Item> Source { get; set; }
public Item Selected { get; set; }
}
我希望将它放在一个地方并将其包含在引用中,而不是在需要组合框绑定的每个ViewModel中创建它。
答案 0 :(得分:0)
我建议只将该类放在单独的文件中并将其添加到您的项目中。
甚至更简单:
文件中包含命名空间的类现在看起来类似于:
namespace MyNamespace
{
public class ComboBoxItemSource : ViewModelBase
{
public ObservableCollection<Item> Source { get; set; }
public Item Selected { get; set; }
}
}
答案 1 :(得分:0)
你可以这样做。
创建IComboBox界面:
public interface IComboBox
{
ObservableCollection<Item> Source { get; set; }
Item Selected { get; set; }
}
然后你可以创建一个继承自ViewModelBase的类并实现你的IComboBox:
public class ComboBoxVM :ViewModelBase, IComboBox
{
public ObservableCollection<Item> Source
{
get
{
// do stuff
return _source;
}
set { _source = value; }
}
public Item Selected
{
get
{
// do stuff
return _selected;
}
set { _selected = value; }
}
}
然后在你的ComboBoxItemSource中,继承自ComboBoxVM:
public class ComboBoxItemSource : ComboBoxVM
{
}
希望这有帮助。