私は2つのスタイルを設定していますUserControl.Resources
<Style TargetType="{x:Type TextBlock}"> <Setter Property="Foreground" Value="white" /> </Style> <Style TargetType="{x:Type Label}"> <Setter Property="Foreground" Value="white" /> </Style>
そのため、私のDataTemplate
(そして残りを切り取ったことに注意してください)では、すべてLabel
のTextBlock
要素のプロパティを変更することなく、白いテキストを適用します。
<DataTemplate x:Key="FileTransferItemTemplate">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Label Content="Transferring With: " />
<TextBlock Text="{Binding Path=OtherUserName, Mode=TwoWay}" />
</StackPanel>
</DataTemplate>
ただし、データがバインドされると、前景色がデフォルトで黒になります(これにより、変更が表示されなかったためにデータバインディングが不適切であると思われるという長い悪夢が発生しました)。私のデータバインドされたテキストは、黒の背景に黒で、長い間気づいていませんでした。
これをオーバーライドできる唯一の方法は、を手動で設定するForeground="White"
ことTextBlock
です。Label
データバインドされていないため、色に対しては問題なく機能します。
なぜこれが起こっているのですか、どうすれば修正できますか?