2012-02-27 3 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# требуют, чтобы эти свойства были общедоступными для них.

Смежные вопросы