我有一个customcontrol,暴露了ObservableCollection类型的Dependency属性。当我直接将这个特性绑定为控件的标记时,包含控件的每个标记都可以正常工作
<temp:EnhancedTextBox
CollectionProperty="{Binding Path=MyCollection, Mode=TwoWay}"/>
但是当我尝试在为控件创建的样式中进行绑定时,它失败了,
<Style x:Key="abc2"
TargetType="{x:Type temp:EnhancedTextBox}" >
<Setter Property="CollectionProperty"
Value="{Binding Path=MyCollection, Mode=TwoWay}"/>
</Style>
请帮忙!!!!!
由于
答案 0 :(得分:1)
它与样式的数据上下文有关。风格无法知道MyCollection的来源,因为尽管您可能在同一文件中定义了它,但该样式不会共享数据上下文。
我还会问你为什么要在风格中设置属性?这种风格不适合这种操作。该样式应该控制UI元素的外观而不提供功能。