2015-12-03 52 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 
{ 

} 

希望這會有所幫助。