2015-12-03 54 views
0

编辑c#程序时,我有顶部包含带有using关键字的命名空间。如using System;在代码隐藏中使用语句

我有一些类在我的WPF应用程序中冗余实现。我想创建一个参考点来使用整个应用程序中的方法。

例如,当我执行数据的组合框结合我有一个类,包括这个......

public class ComboBoxItemSource : ViewModelBase 
{ 
    public ObservableCollection<Item> Source { get; set; } 
    public Item Selected { get; set; } 
} 

我想有这样一个地方,并将其纳入参考,而不是在创建它每个ViewModel都需要一个组合框绑定。

+0

您必须拥有虚拟机的根基类。如果你还没有,就制作一个,然后把所有这些东西放在那里。由于它将放置在C#中的Object类等超级基类中,因此您可以在任何地方访问它。 – AnjumSKhan

回答

0

我建议只将该类放在一个单独的文件中并将其添加到您的项目中。

或者更简单:

  • 右键单击在Solution Explorer中的项目 - > “添加新项” - > “类”。类
  • 复制/粘贴到文件
  • 调整命名空间
  • 添加缺少的usings到文件(特别是使用“查看示范基地”)

类,包括命名空间在文件中现在看起来类似于:

namespace MyNamespace 
{ 
    public class ComboBoxItemSource : ViewModelBase 
    { 
     public ObservableCollection<Item> Source { get; set; } 
     public Item Selected { get; set; } 
    } 
} 
0

你可以这样做。

创建IComboBox同时接口:

public interface IComboBox 
{ 
    ObservableCollection<Item> Source { get; set; } 
    Item Selected { get; set; } 
} 

,那么你可以创建一个从您的ViewModelBase继承并实现你的IComboBox同时A类:

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 
{ 

} 

希望这会有所帮助。