2016-11-14 3 views
0

Привет, все, что я новичок в WPF, и задавался вопросом, может ли кто-нибудь показать мне, как определить цвет привязки, чтобы я мог добавить этот же код ко всем моим текстовым полям и мне нужно изменить только один код каждого отдельно?Привязать цвет фона ко всем текстовым полям

Мой код XAML:

<TextBox x:Name="txtBC_Copy" 
     materialDesign:HintAssist.Hint="Enter the items name that was scanned in" 
     Style="{StaticResource MaterialDesignFloatingHintTextBox}" 
     Margin="478,90,25,618" 
     FontSize="24" 
     Background="{Binding MyBackgroundColor}" 
     BorderBrush="#890C00FF" 
     FontWeight="Bold" 
     CaretBrush="#89000000" 
     BorderThickness="0,0,0,2" 
     Foreground="#DD000000" > 
     <TextBox.SelectionBrush> 
      <SolidColorBrush Color="#890C00FF" Opacity="0"/> 
     </TextBox.SelectionBrush> 
</TextBox> 

Как вы можете видеть выше, я уже пытался Binding MyBackgroundColor.

Код позади:

Private _myBackgroundColor As Color 
Public Property MyBackgroundColor() As Color 
    Get 
     Return _myBackgroundColor 
    End Get 
    Set 
     If Value <> _myBackgroundColor Then 
      _myBackgroundColor = Value 
     End If 
    End Set 
End Property 

Public Sub New() 
    InitializeComponent() 
    MyBackgroundColor = Colors.Red 
End Sub 

Используя оба эти выше, я запустить приложение, и я не вижу красный фон на текстовом поле txtBC_Copy .... Что мне не хватает?

ответ

1

Тип Background является Brush, поэтому, изменить ваш код:

Private _myBackgroundColor As Brush 
Public Property MyBackgroundColor() As Brush 
    Get 
     Return _myBackgroundColor 
    End Get 
    Set 
     If Value <> _myBackgroundColor Then 
      _myBackgroundColor = Value 
     End If 
    End Set 
End Property 

Public Sub New() 
    InitializeComponent() 
    MyBackgroundColor = Brushes.Red 
End Sub 
+0

, что работал! Благодарю anjum – StealthRT

Смежные вопросы