2011-12-29 76 views
7

我有一個網格,我想讓不透明度爲0.5。 我也有這個網格的邊框爲了使它圓角,我想這個邊框也有不透明度0.5。 我希望所有這些都不影響網格的內容。 我成功改變了電網的不透明度,而不影響內容:WPF在不影響兒童的情況下更改網格和網格邊框的不透明度

 <Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" > 
     <Border BorderThickness="7" CornerRadius="4" > 
      <Grid> 
       <Grid.Background> 
        <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
       </Grid.Background> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30"/> 
        <RowDefinition Height="1*"/> 
       </Grid.RowDefinitions> 
       <Button Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Asaf"></Button> 

      </Grid> 
     </Border> 
    </Grid> 

的例子中的按鈕上方有完全不透明而電網是0.5,但對於邊界? 我如何讓邊界具有不透明度0.5而不影響網格內部的網格和網格內容(所有邊界兒童)?

我想這一點,但它不工作:

 <Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" > 
     <Border BorderThickness="7" CornerRadius="4"> 
      <Border.Background> 
       <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
      </Border.Background> 
      <Grid> 
       <Grid.Background> 
        <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
       </Grid.Background> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30"/> 
        <RowDefinition Height="1*"/> 
       </Grid.RowDefinitions> 
       <Button Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Asaf"></Button> 

      </Grid> 
     </Border> 
    </Grid> 

回答

12

只需設置BorderBrush - 屬性(不是背景屬性)的邊界至:

<Border.BorderBrush> 
    <SolidColorBrush Color="#000000" Opacity="0.5"/> 
</Border.BorderBrush> 

在你的榜樣,它看起來像這樣:

<Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" > 
    <Border BorderThickness="7" CornerRadius="4"> 
     <Border.BorderBrush> 
      <SolidColorBrush Color="#000000" Opacity="0.5"/> 
     </Border.BorderBrush> 
     <Grid> 
      <Grid.Background> 
       <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
      </Grid.Background> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="30"/> 
       <RowDefinition Height="1*"/> 
      </Grid.RowDefinitions> 
      <Button Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Asaf"></Button> 

     </Grid> 
    </Border> 
</Grid> 
+0

非常感謝你肌肉:) – Rodniko 2011-12-29 09:35:26

0

對於那些想改變網格線的邊界/不透明度的DataGrid可以簡單地設置不透明的顏色中的資源:

<Window.Resources> 
    <SolidColorBrush x:Key="StackOverflowGray" Color="LightGray" Opacity=".3" /> 
</Window.Resources> 

...

那麼以下用法將在DataGrid中所示的打火機單元格邊框:

<DataGrid GridLinesVisibility="All" 
      HorizontalGridLinesBrush="{StaticResource StackOverflowGray}" 
      VerticalGridLinesBrush="{StaticResource StackOverflowGray}" 
相關問題