Introduction
掲題の通り。
正確には、「Bindng ソースは public プロパティである必要がある」なので、Converter とか関係ない。
知らなかった。
会社で作業中に遭遇した。
てっきり、同じアセンブリ内なら Binding できると思っていたけど、そういう話ですらなかった。
もう、完全に思い込み…かなり時間を溶かした…
Why?
バインディング ソースの概要 (WPF .NET)#その他の特性
に
バインディング ソース プロパティとして使用するプロパティは、クラスのパブリック プロパティである必要があります。
と、書いてある。
internal のクラスは DataContext とかに Binding できるのに…。
恐らく、というか確定だとおもうが、外部アセンブリで定義されたクラスオブジェクトのプロパティに Binding するなら public でないとダメなので、それを踏まえた仕様になったのだと思う。
自アセンブリくらい許して欲しいが…
Aside
ちなみに、InternalPropertyBindingConverter class というのが、 Microsoft.PowerShell.GPowerShell.dll の Microsoft.Windows.PowerShell.Gui.Internal 名前空間にいる。