TemplateBinding "Foreground" does not work

I have a list whose item template is a list. I am trying to set the Foreground property for the internal list to the same as the main list. This does not work. The following is a snippet of code. Here Foreground = "{TemplateBinding Foreground}" is not valid.

<ListBox x:Name="GroupListBox" Grid.Column="1" Grid.Row="1" Style="{StaticResource ListBoxStyle1}" Visibility="Collapsed" BorderBrush="Transparent" Background="Transparent" Foreground="{Binding WebForeground}"> <ListBox.ItemTemplate> <DataTemplate x:Name="test"> <StackPanel Orientation="Horizontal" > <!--<TextBlock Text="{Binding Rank}" FontFamily="Arial" FontSize="13" TextDecorations="Underline" TextWrapping="Wrap" Width="115" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,15,0,0"/>--> <ListBox x:Name="SubGroupListBox" ItemsSource="{Binding InnerList }" ItemTemplate="{StaticResource ItemTemplateKey1}" ItemsPanel="{StaticResource ItemsPanelKey}" Style="{StaticResource ListBoxStyle1}" BorderBrush="Transparent" Background="Transparent" Foreground="{TemplateBinding Foreground}"> </ListBox> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> 
+4
source share
1 answer

This example works for me - it can apply to what you are trying to do:

  <ListBox x:Name="GroupListBox" Foreground="Purple"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" > <ListBox Foreground="{Binding Foreground, RelativeSource={RelativeSource Self}}"> <TextBox Text="{Binding Mode=OneWay}" FontSize="35" Foreground="{Binding Foreground, RelativeSource={RelativeSource Self}}" /> </ListBox> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> <ListBox.ItemsSource> <x:Array Type="{x:Type sys:String}"> <sys:String>Sample Data</sys:String> </x:Array> </ListBox.ItemsSource> </ListBox> 
+1
source

All Articles