Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 背景w。不透明度提供不需要的边框_C#_Xaml - Fatal编程技术网

C# 背景w。不透明度提供不需要的边框

C# 背景w。不透明度提供不需要的边框,c#,xaml,C#,Xaml,我有一个带有两个TabItems的TabControl,它在visual Studio 2013的visual designer中看起来是无缝的,但是当我运行我的解决方案时,会创建一个边框,我似乎无法摆脱它。在图像中,它看起来像是围绕着网格,但我关心的是选项卡标题和选项卡内容之间的边界 如果我替换背景的透明度,而使用纯色,问题就会消失。这似乎与半透明度有关 在可视化设计器中,它如下所示: 当我构建并运行时的结果是: 代码有点直截了当,将所有BorderThickness设置为0 更新 经过更多的

我有一个带有两个TabItems的TabControl,它在visual Studio 2013的visual designer中看起来是无缝的,但是当我运行我的解决方案时,会创建一个边框,我似乎无法摆脱它。在图像中,它看起来像是围绕着网格,但我关心的是选项卡标题和选项卡内容之间的边界

如果我替换背景的透明度,而使用纯色,问题就会消失。这似乎与半透明度有关

在可视化设计器中,它如下所示:

当我构建并运行时的结果是:

代码有点直截了当,将所有BorderThickness设置为0

更新


经过更多的测试,我得出结论,这取决于窗口大小。边界似乎来自抗锯齿,但将SnapsToDevicePixels设置为true并不能解决我的问题。

没有答案,只是对问题进行了改进

根据这个问题,我做了很多实验,发现了另一个有趣的事实

堆栈面板在TabControl中时未连续放置Child

这里有一个例子。在此代码中

鉴于此代码:

<Grid Background="Black"  Width="150">
    <StackPanel>
        <Border Background="White" Height="50" />
        <Border Background="White" Height="50" />
        <Border Background="White" Height="50" />
    </StackPanel>
</Grid>
结果:

但是在TabControl中,比如:

    <TabControl Background="Black" Width="150" >
        <TabItem Header="Tab" >
            <StackPanel>
                <Border Background="White" Height="50" />
                <Border Background="White" Height="50" />
                <Border Background="White" Height="50" />
            </StackPanel>
        </TabItem>
    </TabControl>

为什么它们之间存在边界线?

我建议运行Snoop来分析此类问题。您是否检查了ItemContainerStyle模板。在Blend右键单击选项卡Control,编辑其他模板,编辑ItemContainerStyle?@modosansreves的副本-谢谢,非常好看的工具!更新的问题,看起来这取决于抗锯齿。通过调整窗口的大小,我可以使边框消失。但是,设置SnapsToDevicePixels并不能解决问题。我无法重现WPF.Net4.5 W8.1的行为。我唯一的边框是从黑色背景中变出来的,但不是这条灰线的边框。我的machin Win7在设计时没有显示,但在运行时显示如图所示。mhh可能是边界的baseStyle内容我的意思是,TabControl或TabItem可能有一个样式资源覆盖baseStyle,因此您可以使用该边界来挖掘正在运行的对象
    <TabControl Background="Black" Width="150" >
        <TabItem Header="Tab" >
            <StackPanel>
                <Border Background="White" Height="50" />
                <Border Background="White" Height="50" />
                <Border Background="White" Height="50" />
            </StackPanel>
        </TabItem>
    </TabControl>