Рассмотрим следующий код XAML:
<StackPanel>
<ListBox x:Name="lbColor">
<ListBoxItem Content="Blue"/>
<ListBoxItem Content="Green"/>
<ListBoxItem Content="Yellow"/>
</ListBox>
<TextBlock>
<TextBlock.Text>
<Binding ElementName="lbColor" Path="SelectedItem.Content"/>
</TextBlock.Text>
<TextBlock.Background>
<Binding ElementName="lbColor" Path="SelectedItem.Content"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
Я понимаю, как работает привязка свойства Text.Внутренне это преобразуется во что-то вроде:
textBlock.Text = lbColor.SelectedItem.Content;
Но как фон связан с тем же источником?Этот код:
textBlock.Background = lbColor.SelectedItem.Content;
неверен.Как это может работать?Кстати, он работает и показывает правильный цвет фона.
Единственный способ, которым я вижу, - это получить свойство System.Windows.Media.Colors с заданным именем, создать из него SolidColorBrush и присвоить свойству Background.Но в коде нет ничего, что указывало бы на этот путь.