【问题标题】:WPF StackPanels have spacings between themWPF StackPanel 之间有空格
【发布时间】:2019-07-10 15:05:45
【问题描述】:

我的堆栈面板在每个项目(TextBlocks)之间都有间隙。您可以看到背景画布上的任何内容。我不想要空隙。 我尝试将堆栈面板和文本块的边距设置为零。没修。 在 Blend 中创建相同的东西没有任何差距 (AFAIK)。


(来源:synthedit.com
在这里,您可以看到鼠标/驼鹿背后的物体通过间隙显示出来。

StackPanel^ tstack = gcnew StackPanel;
canvas->Children->Add( tstack );
canvas->SetLeft( tstack, 100 );
canvas->SetTop( tstack, 100 );
canvas->SetZIndex( tstack, 3 );

TextBlock^ tBlock = gcnew TextBlock();
tBlock->FontSize = 10;
tBlock->Text = L"mouse";
tBlock->Background = Brushes::LightGray;
tstack->Children->Add( tBlock );

tBlock = gcnew TextBlock();
tBlock->FontSize = 10;
tBlock->Text = L"moose";
tBlock->Background = Brushes::LightGray;
tstack->Children->Add( tBlock );

【问题讨论】:

    标签: wpf stackpanel


    【解决方案1】:

    应该不需要设置边距。 Kaxaml 中的一个简单测试确认元素之间不应该有间隙。两个可能的原因是 1) 在应用程序资源中或可视化树中某处设置的隐式样式或 2) 可视化树中某处的 SnapsToDevicePixels=false 或 UseLayoutRounding=true。

    【讨论】:

    • 你就是男人!我在我的画布上设置了 SnapsToDevicePixels = true。现在看起来不错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多