2011-12-29 30 views
7

Tôi có một lưới mà tôi muốn làm cho độ mờ đục 0.5. tôi cũng có một đường viền cho lưới này để làm cho nó tròn dồn và tôi muốn biên giới này cũng có độ mờ 0.5. tôi muốn tất cả điều này mà không ảnh hưởng đến nội dung của lưới. tôi đã thành công thay đổi opacity của lưới mà không thực hiện nội dung:WPF Thay đổi độ mờ đường viền lưới và lưới mà không ảnh hưởng đến trẻ em

 <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> 

trong ví dụ trên nút có đầy đủ opacity trong khi lưới điện là 0,5, nhưng những gì về biên giới? Làm cách nào để biên giới có độ mờ đục 0.5 mà không ảnh hưởng đến lưới bên trong nó và nội dung lưới (tất cả các con viền)?

tôi đã cố gắng này, nhưng nó không hoạt động:

 <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> 

Trả lời

12

Chỉ cần đặt BorderBrush-tài sản (không phải là nền-tuệ) of the Border để:

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

Trong ví dụ của bạn , nó sẽ trông giống như sau:

<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

Cảm ơn bạn rất musch :) – Rodniko

0

Dành cho những người muốn thay đổi đường viền/độ mờ của đường lưới trong DataGrid ai có thể chỉ đơn giản là thiết lập màu đục trong các nguồn:

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

...

Sau đó, các tập quán sau đây sẽ có đường viền tế bào nhẹ hiển thị trong DataGrid:

<DataGrid GridLinesVisibility="All" 
      HorizontalGridLinesBrush="{StaticResource StackOverflowGray}" 
      VerticalGridLinesBrush="{StaticResource StackOverflowGray}" 
Các vấn đề liên quan