2012-02-27 31 views
0

我正在WPF自定義控件上工作。該控件的一個屬性在代碼後面設置,並在XAML中使用。該屬性必須公開才能通過綁定在XAML上工作。爲什麼是這樣,如果只有一個班級?爲什麼WPF用戶控件屬性必須公開才能在XAML中使用它們?

<TextBlock Text="{Binding ElementName=PolicyBoxName, Path=FileNames[0]}" /> 

private string[] _fileNames; 
     public string[] FileNames 
     { 
      get 
      { 
       return _fileNames; 
      } 
      set 
      { 
       if (value != _fileNames) 
       { 
        _fileNames = value; 
        OnPropertyChanged("FileNames"); 
       } 
      } 
     } 

回答

1

XAML解析器根據提供的XML構造對象並設置它們的屬性。它與任何其他類都不同,它們可能希望創建用戶控件並設置其屬性。沒有反思,C#語言的約束要求這些屬性公開以供設置。

相關問題