2012-02-27 2 views
0

私はWPFカスタムコントロールに取り組んでいます。コントロールにはコードで設定され、XAMLで使用されるプロパティがあります。このプロパティは、Bindingを介してXAMLを処理するためには公開されている必要があります。クラスが1つだけの場合、これはなぜですか?XAMLからWPFを使用するには、WPFユーザーコントロールのプロパティを公開する必要があるのはなぜですか?

<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#言語の制約は、これらのプロパティを公開することを要求します。