3

                ここに画像の説明を入力してください

デザイナは赤い背景の周りに黒い境界線を表示しますが、実際のアプリケーションは赤い背景のみを表示します。何が得られますか?黒い境界線を強制的に表示するにはどうすればよいですか?

このウィンドウの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>
4

3 に答える 3

3

私の推測では、実行時の境界線のデフォルトの太さは0です。おそらく、アプリケーションリソースディクショナリの継承されたスタイルが原因です。グローバルリソースディクショナリから継承されたデフォルトのスタイルは、設計時に表示されないことがよくあります。

明示的に設定してみてくださいBorderThickness="1"

于 2012-04-09T16:45:27.233 に答える
3

境界線がデザインモードで表示される理由はわかりませんが、明示的な太さを追加することで、アプリケーションに境界線を表示させることができます

<Border DockPanel.Dock="Top" Height="10" BorderBrush="Black"
        SnapsToDevicePixels="True" Background="Red" BorderThickness="1" />
于 2012-04-09T16:45:49.590 に答える
0
        <Border.BorderBrush>
            <SolidColorBrush Color="{DynamicResource Gray4}"/>
        </Border.BorderBrush>

16進数を使用して、プロパティ「Color」の値を置き換えます。

        <Border.BorderBrush>
            <SolidColorBrush Color="#FFD33B3B"/>
        </Border.BorderBrush>
于 2017-11-04T01:57:15.020 に答える