我正在尝试在布局面板中添加两个ComboBox,如下面的代码所示。
但我遇到了一个错误 - "属性'内容'设置不止一次"。如何在布局中添加两个组合框?
<!--User Control Layout-->
<dxdo:LayoutGroup x:Name="LayoutGroupTopLevel">
<dxdo:LayoutGroup x:Name="GridViews" ItemWidth="1*" Orientation="Vertical" AllowClose="True" AllowDock="True" AllowFloat="True" AllowHide="True">
<dxdo:LayoutPanel x:Name="Layers" Caption="User Control" ItemHeight="1*">
<dxdo:LayoutGroup>
<dxlc:LayoutItem Label="Plan Type">
<dxe:ComboBoxEdit Height="25" VerticalAlignment="Top" Width="200" Name="BoxEdit">
<dxe:ComboBoxEditItem Content="3 month"/>
<dxe:ComboBoxEditItem Content="2 year"/>
</dxe:ComboBoxEdit>
</dxlc:LayoutItem>
<dxlc:LayoutItem Label="Site">
<dxe:ComboBoxEdit Height="25" VerticalAlignment="Top" Width="200" Name="BoxEdit1"/>
</dxlc:LayoutItem>
</dxdo:LayoutGroup>
</dxdo:LayoutPanel>
<dxdo:LayoutPanel x:Name="LayoutPanel" Caption="Properties" ItemHeight="1*">
<dxlc:LayoutItem Label="Site">
<dxe:ComboBoxEdit Height="25" VerticalAlignment="Stretch" Width="200" Name="ComboBoxEdit"/>
<dxe:ComboBoxEdit Height="25" VerticalAlignment="Stretch" Width="200" Name="ComboBoxEdit1"/>
</dxlc:LayoutItem>
</dxdo:LayoutPanel>
</dxdo:LayoutGroup>
任何人都可以指出我犯的错误吗?
答案 0 :(得分:2)
假设您正在使用DevExpress WPF控件套件,则您的错误是尝试将两个LayoutItem
添加到LayoutPanel
。它仅支持单个UIElement
或LayoutGroup
作为内容(请参阅LayoutPanel documentation,部分&#34;内容&#34;)。因此,要完成目标,您应该使用LayoutGroup
包装项目:
<dxdo:LayoutPanel x:Name="Layers" (...)>
<dxdo:LayoutGroup>
<dxlc:LayoutItem Label="Plan Type">(...)</dxlc:LayoutItem>
<dxlc:LayoutItem Label="Site">(...)</dxlc:LayoutItem>
</dxdo:LayoutGroup>
</dxdo:LayoutPanel>
<强>更新强>
正如你所指出的那样(并且它引起了我的注意)你无法直接将dxlc:LayoutItem
添加到dxdo:LayoutGroup
;你应该将它包装在dxdo:LayoutControlItem
中(再次,它在文档中的所有内容):
<dxdo:LayoutPanel x:Name="Layers" (...)>
<dxdo:LayoutGroup>
<dxdo:LayoutControlItem>
<dxlc:LayoutItem Label="Plan Type">(...)</dxlc:LayoutItem>
</dxdo:LayoutControlItem>
<dxdo:LayoutControlItem>
<dxlc:LayoutItem Label="Site">(...)</dxlc:LayoutItem>
</dxdo:LayoutControlItem>
</dxdo:LayoutGroup>
</dxdo:LayoutPanel>
或者,您可以完全删除dxlc:LayoutItem
并仅使用dxdo:LayoutControlItem
(使用Caption
属性而不是Label
):
<dxdo:LayoutPanel x:Name="Layers" (...)>
<dxdo:LayoutGroup>
<dxdo:LayoutControlItem Caption="Plan Type">(...)</dxdo:LayoutControlItem>
<dxdo:LayoutControlItem Caption="Site">(...)</dxdo:LayoutControlItem>
</dxdo:LayoutGroup>
</dxdo:LayoutPanel>
<强>澄清强>
消除歧义:
xmlns:dxdo="http://schemas.devexpress.com/winfx/2008/xaml/docking"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"