日期:2014-05-18  浏览次数:20685 次

我希望修改某些子控件里的Border的背景色,该怎么加限制条件?
如果我要修改全部的Border背景色,我这样成功了:

<控件A>
  <控件A.Resources>
  <Style TargetType="Border">
  <Setter Property="Background" Value="Red"></Setter>
  </Style>
  </控件A.Resources>
</控件A>


问题是:我不希望修改全部Border的背景色,而只是想修改在“控件B”里的那些Brder的背景色。

就是说,“控件A”包含“控件B”,“控件B”包含了很多“Border”,那么,我就是想修改这些Brder的背景色。

该怎么加一个限制条件:只修改“控件B”里的Brder,不修改“控件B”外的那些Brder?


有人建议我这样:


<控件A>
  <控件B>
  <控件B.Resources>
  <Style TargetType="Border">
  <Setter Property="Background" Value="Red"></Setter>
  </Style>
  </控件B.Resources>
  <控件B>
</控件A>


但是,如果使用这种方法,我就必须重写控件A的模板了,因为控件A,是封装好的模板,不是我自己的控件。

而这样代码就太多了。

能不能在最上面的那些代码里,简单地加个限制条件?







------解决方案--------------------
加css样式不行吗?