2013-05-03 3 views
4

Я хочу изменить цвет фона на TextBlock на телефоне Windows. Теперь у меня есть только текстовый блок, не имеющий места рядом с рамкой. Этот эффект у меня по этому коду:Фоновый текстовый блок на windows phone

<StackPanel Orientation="Horizontal" Background="{Binding Color}"> 
    <TextBlock Text="{Binding Name}" Margin="12,0,0,0"></TextBlock> 
</StackPanel> 

ответ

11

TextBlock не имеет фоновое свойство самостоятельно. Вы должны установить фон сетку или холст или границу или прямоугольник, чтобы заполнить его.

<Grid Width="300" Height="100" Background="Blue"> 
      <TextBlock Name="MyTextBlock" Text="Hello World!" Foreground="Black" /> 
</Grid> 

Вместо сетки вы можете сделать прямоугольник или границу.

+0

Чтобы иметь динамическую строку, которая всегда имеет один и тот же «пространство рядом с рамкой», снимите ширина/высота от сетки и добавить маржу текстовый блок. – XAMeLi

1

Вы также можете изменить цвет фона на событие GetFocus как

private void TextBox_GotFocus(object sender, RoutedEventArgs e) 
{ 
    (sender as TextBox).Background = new SolidColorBrush(Colors.Red); 
}