我有一个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时将TextBoxes的Foreground更改为白色。
关于我如何获得这个的任何线索?
答案 0 :(得分:0)
假设您的问题是:
a。)我想让TextBox继承其容器的背景颜色。
答案:您需要为ListBoxItem ControlTemplate设置根网格的背景颜色。这将由放置在ListBoxItem内的内容演示者继承。
b。)每次选择ListView时,将TextBoxes的前景更改为白色
答案:在ListBoxItem ControlTemplate中,将根网格的前景更改为选定状态下的白色
答案 1 :(得分:0)
如果您不想使用除添加的控件之外的其他任何内容,请将其背景颜色设置为透明。
Hacky,但会奏效。
答案 2 :(得分:-1)
如果父级的背景颜色发生变化,您还可以使用绑定来明确告诉文本框绑定包含控件,使用绑定中的ElementName。