我有一个xaml资源文件,其中包含一些DataRemplate
s的定义。在一个DataRemplate
中,我的边框背景绑定到其DataObject
的属性。
我还有一个ColorPicker
用户控件,它是边框ContextMenu
的一部分。
现在我正在尝试将ColorPicker
的依赖项属性“CustomColor”绑定到边框的颜色/背景属性。怎么做?
我是否必须绑定到边框的“背景”属性或数据对象的“颜色”属性?
<Border x:Name="projectRect"
Grid.Column="1"
Grid.ColumnSpan="1"
HorizontalAlignment="Right"
Background="{Binding Path=Color, Converter={StaticResource colorConverter}}"
BorderBrush="#737377"
BorderThickness="1"
CornerRadius="4"
IsHitTestVisible="True">
<TextBlock Text="{Binding Path=ProjectId}"
VerticalAlignment="Center"
Margin="4" />
<Border.ContextMenu>
<ContextMenu Name="colorPopup"
StaysOpen="True"
Style="{StaticResource ColorPickerContextMenuStyle}">
<Border Background="GhostWhite">
<local:CustomColorPicker x:Name="cp"
CustomColor="{Binding Path=Color, Converter={StaticResource colorConv}}"
diag:PresentationTraceSources.TraceLevel="High" />
</Border>
</ContextMenu>
</Border.ContextMenu>
</Border>
感谢您的回复。
答案 0 :(得分:0)
两个属性都应绑定到数据对象中的Color,以确保在ColorPicker
更改数据对象需要实现的属性INotifyPropertyChanged
时更新边框。
如何进行绑定取决于您的上下文。在大多数情况下,数据对象可以在相应对象的DataContext
中找到,但可能不是使用ItemsControls等。有关绑定的一般帮助,请参阅Data Binding Overview。