首先你需要允許XAML通過設置它的DataContext訪問屬性:
如果該屬性是在代碼隱藏,這添加到窗口元件:
DataContext="{Binding RelativeSource={RelativeSource self}}"
否則,如果是在一個單獨的ViewModel類(優選方法)
public MainWindow()
{
MainWindowViewModel viewModel = new MainWindowViewModel();
this.DataContext = viewModel;
InitializeComponent();
}
這個viewmodel應該實現INotifyPropertyChanged,如果你不想在更改屬性時更新UI(我假設是這樣),但是如果UI只對這個屬性有寫訪問權限,這是沒有必要的。
class MainWindowViewModel : INotifyPropertyChanged
{
ObservableCollection<Company> _company;
public ObservableCollection<Company> Company
{
get
{
return _company;
}
set
{
if (_company != value)
{
_company = value;
RaisePropertyChanged("Company");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(name));
}
只需在一個側面說明,儘量避免GetCompany & SetCompany作爲屬性名稱,而是使用this.Company從類名稱區分開來。
我已經嘗試過上面的代碼,但仍然沒有填充組合框 – Khaniya