сначала вам нужно разрешить xaml получить доступ к свойству, установив его DataContext:
, если свойство находится в codebehind, добавьте это к элементу окна:
DataContext="{Binding RelativeSource={RelativeSource self}}"
elseесли он находится в отдельном классе viewModel (предпочтительный метод)
public MainWindow()
{
MainWindowViewModel viewModel = new MainWindowViewModel();
this.DataContext = viewModel;
InitializeComponent();
}
, эта модель представления должна реализовывать INotifyPropertyChanged, если вы не хотите обновлять пользовательский интерфейс при изменении свойства (я так полагаю), если пользовательский интерфейсэто только иметь доступ на запись к свойству, в этом нет необходимости.
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, чтобы отличать его отимя класса.