2012-04-09 33 views
3

                enter image description here爲什麼WPF邊框的「邊框」在設計模式下可見,但在應用程序中不可見?

設計師展示各地紅色背景上的黑色邊框,但實際應用中只顯示紅色背景。是什麼賦予了?如何強制黑色邊框可見?

下面是這個窗口的XAML:

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     MinWidth="400" MinHeight="300" 
     TextOptions.TextFormattingMode="Display"> 
    <DockPanel Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"> 
     <Button DockPanel.Dock="Top" Content="A button" 
       Padding="8,2" Margin="8" /> 
     <Border DockPanel.Dock="Top" Height="10" BorderBrush="Black" 
       SnapsToDevicePixels="True" Background="Red" /> 
     <Button DockPanel.Dock="Top" Content="A button" 
       Padding="8,2" Margin="8" /> 
    </DockPanel> 
</Window> 
+1

+1截圖 – Alain 2012-04-09 16:43:30

+0

就是這個邊框,還是僅僅是一個圍繞控制的線條,所以你可以在設計表面上有一些東西? – 2012-04-09 17:02:24

+0

@TonyHopkinson有一刻有我還以爲你剛剛解釋發生了什麼事,但實際上......不,那是邊界:http://i.imgur.com/ilQb0.png – 2012-04-09 17:06:44

回答

3

我的猜測是,在運行時邊框的默認厚度爲0 - 可能是因爲在應用程序資源字典繼承的風格。從全局資源字典繼承的默認樣式通常在設計期間不顯示。

嘗試明確設置BorderThickness="1"

+1

即使在一個空白的項目中也會發生這種情況...猜猜這是另一個WPF的東西,我不得不忍受... :) – 2012-04-09 16:49:51

+1

作爲一名WPF UI開發人員,我完全放棄使用設計師並依靠完全在我的腦海裏,[SNOOP](http://snoopwpf.codeplex.com/)。 – Alain 2012-04-09 16:55:46

3

我不知道爲什麼邊框顯示在設計模式了,但你可以通過添加一個明確的厚度

<Border DockPanel.Dock="Top" Height="10" BorderBrush="Black" 
     SnapsToDevicePixels="True" Background="Red" BorderThickness="1" /> 
+0

捕捉到爲我工作的設備像素,我認爲它會渲染超過半像素,導致我的邊框達到飽和度的一半。 – apc 2017-02-13 16:52:11

0
 <Border.BorderBrush> 
      <SolidColorBrush Color="{DynamicResource Gray4}"/> 
     </Border.BorderBrush> 
使其在應用中顯示

替換的財產 「顏色」 值,使用十六進制:

 <Border.BorderBrush> 
      <SolidColorBrush Color="#FFD33B3B"/> 
     </Border.BorderBrush>