2013-03-01 81 views
0

我是WPF的新手,需要您的帮助来解决我的样式问题。递归应用于所有子元素的边框样式

我已经申请边框造型电网如下

<Border CornerRadius="5" BorderBrush="Gainsboro" BorderThickness="1,1,0,0" Name="border1" Margin="90,54,20,50" > 
        <Border BorderBrush="Gray" CornerRadius="5" BorderThickness="0,0,1,1" > 
         <Border.Effect> 
          <DropShadowEffect BlurRadius="10" Direction="-50" ShadowDepth="7" /> 
         </Border.Effect> 
         <Border.Child> 
          <Grid> 
           <Grid.RowDefinitions> 
            <RowDefinition Height="Auto"/> 
            <RowDefinition Height="356*" /> 
           </Grid.RowDefinitions> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="Auto" /> 
            <ColumnDefinition Width="446*" /> 
           </Grid.ColumnDefinitions> 

           <TextBox Name="TB1" Style="{StaticResource CustomTextBoxStyle}" Grid.Column="1" Margin="46,79,400,277" Grid.Row="1" /> 
           <ComboBox Height="24" Name="comboBox1" Width="110" Grid.Column="1" Margin="304,86,232,276" Grid.Row="1" /> 

          </Grid> 
         </Border.Child> 


        </Border>      
       </Border> 

然后我把文本框和组合框与定制造型的网格。

问题是父母GRID的边框样式应用于子TEXTBOX以及其自定义样式属性。

你能帮我解决吗?

由于 巴勒特

回答

1

作为每MSDN doucment -

当BitmapEffect施加到布局容器,如 DockPanel中或帆布,效果被施加到 的可视化树元素或视觉,包括其所有子元素。

但是,有一个替代方案来描述herehere有另一个边境相同的位置,但没有效果,这将解决这个问题 -

<Grid> 
    <Border Margin="10" BorderBrush="Red" BorderThickness="1"> 
    <Border.Effect> 
    <DropShadowEffect Color="Gray"/> 
    </Border.Effect> 
    </Border> 
    <Border Margin="10"> 
    <!-- controls --> 
    </Border> 
</Grid> 
+0

谢谢您的回答。应用这些更改。 – Jasti 2013-03-01 20:07:27

相关问题