我有一个列表框,其项目模板是一个列表框。我试图将内部列表框的“前景”属性设置为与主列表框的属性相同。这是失败的。以下是代码段。在这里Foreground =“{TemplateBinding Foreground}”没有效果。
<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>
答案 0 :(得分:2)
此示例适用于我 - 它可能适用于您尝试执行的操作:
<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>