首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在xaml中向Accordion添加多个用户控件

如何在xaml中向Accordion添加多个用户控件
EN

Stack Overflow用户
提问于 2011-03-16 19:27:01
回答 3查看 2K关注 0票数 4

我使用的是Silverlight4页面和一个手风琴,我试图在每个手风琴项目中插入2个用户控件。

代码语言:javascript
运行
复制
<toolkit:Accordion Name="accordion1">
    <toolkit:AccordionItem Content="item 1" Header="A">
        <local:AddRemoveControl x:Name="AddRemoveAgents" Margin="470,90,0,0">     </local:AddRemoveControl>
    </toolkit:AccordionItem>
    <toolkit:AccordionItem Content="item 2" Header="B -  long header">
        <local:DatesFilter x:Name="DatesFilter" Margin="475,200,0,0" Canvas.Top="76"> </local:DatesFilter>
    </toolkit:AccordionItem>
</toolkit:Accordion>

我收到以下错误消息:“属性内容设置了多次”

我该如何继续呢?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2011-03-16 19:33:50

手风琴中只能有一个内容项。

您需要做的是将您的控件包装在一个StackPanel中:

代码语言:javascript
运行
复制
<toolkit:Accordion Name="accordion1">
    <toolkit:AccordionItem Content="item 1" Header="A">
        <StackPanel>
            <local:AddRemoveControl x:Name="AddRemoveAgents" Margin="470,90,0,0"></local:AddRemoveControl>
            <local:DatesFilter x:Name="DatesFilter" Margin="475,200,0,0" Canvas.Top="76"> </local:DatesFilter>
        </StackPanel>
    </toolkit:AccordionItem>
</toolkit:Accordion>
票数 2
EN

Stack Overflow用户

发布于 2011-03-16 19:43:45

下面是我更新的代码:

代码语言:javascript
运行
复制
<toolkit:Accordion Canvas.Left="480" Canvas.Top="104" Height="100" Name="accordion1" Width="300">
        <toolkit:AccordionItem Content="item 1" Header="A">
                <StackPanel>
                    <local:AddRemoveControl x:Name="AddRemoveAgents" Margin="470,90,0,0"></local:AddRemoveControl>
                </StackPanel>
            </toolkit:AccordionItem>
        <toolkit:AccordionItem Content="item 2" Header="B -  long header">
                <StackPanel>
                    <local:DatesFilter x:Name="DatesFilter" Margin="475,200,0,0" Canvas.Top="76"></local:DatesFilter>
                </StackPanel>
        </toolkit:AccordionItem>
    </toolkit:Accordion>
票数 0
EN

Stack Overflow用户

发布于 2011-03-17 00:42:25

您正在定义内容两次。尝试从AccordionItem中删除内容标记,如下所示:

代码语言:javascript
运行
复制
<toolkit:Accordion Canvas.Left="480" Canvas.Top="104" Height="100" Name="accordion1" Width="300">
    <toolkit:AccordionItem Header="A">
            <StackPanel>
                <local:AddRemoveControl x:Name="AddRemoveAgents" Margin="470,90,0,0"></local:AddRemoveControl>
            </StackPanel>
        </toolkit:AccordionItem>
    <toolkit:AccordionItem Header="B -  long header">
            <StackPanel>
                <local:DatesFilter x:Name="DatesFilter" Margin="475,200,0,0" Canvas.Top="76"></local:DatesFilter>
            </StackPanel>
    </toolkit:AccordionItem>
</toolkit:Accordion>

而且,按照你目前的方式,你最终会得到两个Accodion项目,每个项目都有一个控件。要将两个控件放在同一项中,您需要将第二个控件放入第一个stackpanel中。

代码语言:javascript
运行
复制
<toolkit:Accordion Canvas.Left="480" Canvas.Top="104" Height="100" Name="accordion1" Width="300">
<toolkit:AccordionItem Header="A">
     <StackPanel>
          <local:AddRemoveControl x:Name="AddRemoveAgents" Margin="470,90,0,0">                                        
      </local:AddRemoveControl>
          <local:DatesFilter x:Name="DatesFilter" Margin="475,200,0,0" Canvas.Top="76">
          </local:DatesFilter>
     </StackPanel>
 </toolkit:AccordionItem>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5324581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档