使DataTemplate的子项继承父项的颜色
本文关键字:颜色 继承 DataTemplate | 更新日期: 2023-09-27 18:00:23
我有一个ListViewItems的DataTemplate,里面有一些TextBoxes和Combos。类似这样的东西:
<DataTemplate x:Key="ListTemplate">
<Border Margin="2, 2, 4, 2" BorderThickness="2, 0, 0, 0">
<Grid>
(...)
<StackPanel Grid.Column="0" Grid.Row="0">
<TextBox VerticalAlignment="Bottom" Name="hoursField" Margin="5">
<TextBox.Text>
<Binding Path="Hours" />
</TextBox.Text>
</TextBox>
...
现在,我想让TextBox继承他的容器的背景色,以便使用与StackPanel相同的背景色绘制,并在每次选择ListView时将TextBox的前景更改为白色。
有什么线索可以告诉我如何获得这个吗?
如果您不想在添加的控件之外的其他控件上乱搞,请将它们的背景色设置为透明。
哈奇,但会工作。
假设您的问题是:
a.)我想让TextBox继承他的容器的背景颜色。
答:您需要为ListBoxItemControlTemplate设置根网格的背景色。这将由放置在ListBoxItem中的内容演示者继承。
b.)每次选择ListView 时,将文本框的前景更改为白色
答:在ListBoxItem ControlTemplate中,将根网格的前景更改为所选状态下的白色
如果父控件的背景色发生更改,您还可以使用绑定来显式告诉文本框使用绑定中的ElementName来绑定包含控件。