【发布时间】:2012-06-12 17:40:51
【问题描述】:
我想将我的窗口(wpf)分成三列:左列必须是DockPanel(我认为StackPanel 对Canvas 不起作用),右列应该是另一个DockPanel 持有一个@ 987654325@,中间我需要一个Canvas。
这就是我所做的,我遇到了左列的问题,因为它不可扩展。我需要左列作为自定义对象的持有者,以便用户可以将它们拖放到画布上。请指教。
<DockPanel LastChildFill="True" Background="LightGray" Margin="5">
<Expander Header="Controls" Background="Gray" Margin="2"
Content="{StaticResource FC}" DockPanel.Dock="Top"
IsExpanded="True" Width="200" />
</DockPanel>
<GridSplitter Focusable="False" Width="2" Background="LightGray"
VerticalAlignment="Stretch" HorizontalAlignment="Right"/>
<lib:MyCanvas x:Name="myCanvas" FlowDirection="LeftToRight"
Background="White" AllowDrop="True"
Mouse.MouseMove="MyCanvas _MouseMove">
</lib:MyCanvas >
另外,应该在右侧使用什么控件来容纳列表框?
【问题讨论】:
-
您似乎缺少一些 XAML,我看到了
GridSplitter但没有网格?如果我假设所有这些周围都有一个外部Grid容器,那么[最后一个] 问题的答案是您不需要容器,Grid就是容器。如果这里还有问题,我不知道是什么。 -
不,我没有使用任何网格。我在想 Grid 和 Canvas 不能在窗口上一起使用。所以你是说我必须将所有这些嵌入到网格中?
-
你能告诉我它大概是什么样子吗?