2016-04-27 564 views
1

以下のコードに示すように、2つのComboBoxをレイアウトパネル内に追加しようとしています。XAML - LayoutPanelプロパティ 'Content'が複数回設定されています

私はエラーが発生しました。「プロパティ 'Content'が複数回設定されています」。レイアウト内に2つのコンボボックスを追加するにはどうすればよいですか?

  <!--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> 

誰でも私が間違っていることを指摘できますか?

答えて

2

DevExpress WPF controlsスイートを使用していると仮定すると、LayoutPanelに2つのLayoutItemを追加しようとしています。コンテンツとして単一のUIElementまたはLayoutGroupのいずれかのみをサポートします(LayoutPanel documentation、「コンテンツ」の項を参照)。ですから、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> 

UPDATE

あなたが指摘(と、それは私の注意を滑っ)として、あなたが直接dxdo:LayoutGroupdxlc:LayoutItemを追加することはできません。あなた(再び、それはドキュメントのすべてです)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(代わりにLabelCaptionプロパティを使用)を使用することができます。

<dxdo:LayoutPanel x:Name="Layers" (...)> 
    <dxdo:LayoutGroup> 
     <dxdo:LayoutControlItem Caption="Plan Type">(...)</dxdo:LayoutControlItem> 
     <dxdo:LayoutControlItem Caption="Site">(...)</dxdo:LayoutControlItem> 
    </dxdo:LayoutGroup> 
</dxdo:LayoutPanel> 
明確にするために

明確化

01 uが示唆したようには
  • xmlns:dxdo="http://schemas.devexpress.com/winfx/2008/xaml/docking"
  • xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
+0

私は、コードを変更し、私も上にそれを編集しました。しかし、私はまだこのエラーが発生します - "タイプ 'LayoutItem'の値は、 'BaseLayoutItemCollection'タイプのコレクションまたはディクショナリに追加できません。 – Dazzler

+0

はい私はDevExpress WPFコントロールスイートを使用しています。 – Dazzler

+0

ありがとう、魅力的に働いた:) – Dazzler

関連する問題