Как привязать цвет к фону текстового поля wpf - PullRequest
1 голос
/ 09 ноября 2010

Привет У меня проблема с установкой цвета фона текстового поля с помощью привязок. Я использую этот код

<TextBlock Width="Auto" Height="Auto"
                                   Text="{Binding ConnectionType}"
                                   Canvas.Left="{Binding LabelPosition.X}"
                                   Canvas.Top="{Binding LabelPosition.Y}" Background="{Binding ParentCanvasColor}">

                          <TextBlock.RenderTransform>
                            <TranslateTransform X="5" Y="5"/>
                          </TextBlock.RenderTransform>
                        </TextBlock>

Свойство ParentCanvasColoris, которое в моем классе называется соединением. Это свойство выглядит так

 public Color ParentCanvasColor
    {
        get
        {
            if (parentCanvas != null && parentCanvas is DesignerCanvasNetDiag)
            {
                return Colors.Red;
            }
            return Colors.Transparent;
        }
    }

Конечно, я добавил объект класса Connection в текстовый блок textBlock

1 Ответ

5 голосов
/ 09 ноября 2010

bind SolidColorBrush вместо Color, как показано ниже.

    public SolidColorBrush ParentCanvasColor
    {
        get
        {
            if (parentCanvas != null && parentCanvas is DesignerCanvasNetDiag)
            {
                return  new SolidColorBrush(Colors.Red);
            }
            return  new SolidColorBrush(Colors.Transparent);
        }
    }
...