2010-08-13 75 views
1

我有一個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

這兩個屬性都應綁定到數據對象中的Color,以確保在ColorPicker更改數據對象實現INotifyPropertyChanged所需的屬性時更新邊框。

你如何做綁定取決於你的上下文。在大多數情況下,數據對象可在各自對象的DataContext中找到,但ItemsControls等可能不是這種情況。有關綁定的一般幫助,請參閱Data Binding Overview

相關問題