以下 XAML 会在文本框周围生成一个具有奇怪行为的窗口:
<Window x:Class="WpfSandbox.CuriousExample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CuriousExample" Height="300" Width="300">
<DockPanel Margin="15">
<TextBox BorderThickness="1" BorderBrush="#FF000000"></TextBox>
</DockPanel>
</Window>
至少在我有限的测试期间会发生什么,文本框以嵌入的边框图案呈现(顶部/左侧为黑色,右侧/底部为灰色)。但是,当您调整到除原始位置之外的任何位置时,整个文本框边框都会变为黑色。每当您将窗口返回到表单首次加载时的确切屏幕像素数时,它就会再次插入。
我猜这不是像素捕捉,因为我可以很容易地用这段代码纠正问题:
<Window x:Class="WpfSandbox.CuriousExample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CuriousExample" Height="300" Width="300">
<DockPanel Margin="15">
<Border BorderThickness="1" BorderBrush="#FF000000">
<TextBox BorderThickness="0" ></TextBox>
</Border>
</DockPanel>
</Window>
有人愿意冒险解释我所看到的吗?还是这一切都在我的脑海里?
就像我说的,上面的解决方法可以解决这个问题——只是想了解这里发生了什么。
谢谢,
-斯科特