Как изменить фон границ с помощью палитры цветов - PullRequest
1 голос
/ 13 августа 2010

У меня есть файл ресурсов xaml с некоторыми определениями DataRemplate s.В одном DataRemplate у меня есть фон границы, связанный со свойством DataObject.

У меня также есть пользовательский элемент управления ColorPicker, который является частью ContextMenu границы.

Теперь я пытаюсь связать свойство зависимости "CustomColor" ColorPicker со свойством color / background границы.Как это сделать?

Нужно ли привязывать свойство "Background" границы или свойство "Color" моего объекта данных?

<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>

Спасибо за ваши ответы.

1 Ответ

0 голосов
/ 14 июня 2011

Оба свойства должны быть связаны с цветом в вашем объекте данных, чтобы убедиться, что граница обновляется, если ColorPicker изменяет свойство, которое объект данных должен реализовать INotifyPropertyChanged.

То, как вы делаете привязки, зависит от вашего контекста.В большинстве случаев объекты данных находятся в DataContext вашего соответствующего объекта, но с ItemsControls и т. П. Это может быть не так.Для получения общей справки по привязкам см. Обзор привязки данных .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...