Pet*_*ter 1 wpf canvas stackpanel
我有与引用完全相同的问题(在这里采取,但没有回答):
我通过StackPanel.Childrens.Add()将控件添加到StackPanel.
但是我所看到的 - 我添加的所有控件都处于相同的位置并相互重叠.它们不在StackPanel内部布局.
甚至StackPanel.UpdateLayout()也没有给我带来什么.
我对我来说是想添加Canvases(是的,我确实需要它们)StackPanel.有任何想法吗?
你有没有在画布上设置明确的尺寸?画布的大小不适合其内容,因此除非您明确指定画布的大小,否则当您将它们全部放在堆栈面板中时,它们的内容将显示在彼此之上,如您所解释的那样.这是因为画布子项相对于其定位的(0,0)位置将是stackpanel的左上角(所有画布及其所有子画面的相同点).
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<Canvas>
<TextBlock Text="Child of canvas one" />
</Canvas>
<Canvas>
<TextBlock Text="Child of canvas two" />
</Canvas>
</StackPanel>
</Page>
Run Code Online (Sandbox Code Playgroud)
你会看到两行文字叠加在一起.
现在,试试这个:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<Canvas Height="15">
<TextBlock Text="Child of canvas one" />
</Canvas>
<Canvas Height="15">
<TextBlock Text="Child of canvas two" />
</Canvas>
</StackPanel>
</Page>
Run Code Online (Sandbox Code Playgroud)
你会看到你想要的间距.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
4264 次 |
| 最近记录: |