在UserControl中,我有一个带有DataTemplate的ItemsControl,它使用第二个控件类型作为单个项目。主控件有许多DependencyProperties,它们主要通过DataTemplate或子控件自己的XAML中的RelativeSource
绑定传递给子控件。
但是,当我想将主控制用于"代理"使用ValueConverter的绑定;即:
两个控件都有一个属性" Stroke"类型为Brush
。在DataTemplate中,子控件的属性绑定到主控件的属性:
Stroke="{Binding ElementName=RingControl, Path=Stroke}"
在主控件的Stroke
属性上,注册了一个ValueConverter绑定,实际上是由子控件使用。显然发生的事情(我有点理解)是ValueConverter绑定仅在主控件上进行评估,并且上面给出的绑定仅将结果传递给子控件,而实际目的是将值转换器应用于每个绑定项并相应地设置相应的子控件属性。
如何在主控件上设置绑定(因为这是整个控件的API)并将其传递给每个子控件并对其进行全面评估?
(如果更多上下文有用:实际项目位于https://github.com/TeaDrivenDev/Kiltse/tree/develop/src/TeaDriven.Kiltse [没有Stroke
属性];主要控件为Ring
,子控件为Arc
测试项目中的Trial.fsx
可用于测试它而无需应用程序。)
所以,我想我正在寻找的是某种元绑定;绑定绑定; a"绑定代表"各种。