设置Silverlight Toolkit AccordionItem的MaxHeight时出现问题
我正在试着制作一个有三个项目的手风琴。前两个扩展到预定义的高度,第三个扩展到填充所有剩余空间;我想这很容易 这是我试图做的一个虚拟版本。手风琴本身有一个红色的背景,每个项目都有自己的颜色。前两个项目适当地扩展到其大小,但如果项目1或2打开,项目3将不再扩展以填充所有剩余空间,而是尺寸太小,留下一大块红色,或者太大,从屏幕底部射出,遮住了应该仍然存在的红色小条 这是虫子吗 我试着用两个手风琴来解决这个问题,一个手风琴有两个最大高度的项目,另一个手风琴可以扩展到所有剩余的高度,但我始终无法获得正确的布局,因为我猜对于Silverlight专家来说是显而易见的 我有什么办法可以做到这一点吗 这是完整的代码-另外,请注意,我尝试使用Height属性而不是MaxHeight,但这只是导致accordionItem始终为该高度,而不管它是否已展开设置Silverlight Toolkit AccordionItem的MaxHeight时出现问题,silverlight,silverlight-4.0,silverlight-toolkit,Silverlight,Silverlight 4.0,Silverlight Toolkit,我正在试着制作一个有三个项目的手风琴。前两个扩展到预定义的高度,第三个扩展到填充所有剩余空间;我想这很容易 这是我试图做的一个虚拟版本。手风琴本身有一个红色的背景,每个项目都有自己的颜色。前两个项目适当地扩展到其大小,但如果项目1或2打开,项目3将不再扩展以填充所有剩余空间,而是尺寸太小,留下一大块红色,或者太大,从屏幕底部射出,遮住了应该仍然存在的红色小条 这是虫子吗 我试着用两个手风琴来解决这个问题,一个手风琴有两个最大高度的项目,另一个手风琴可以扩展到所有剩余的高度,但我始终无法获得正确的
<UserControl x:Class="SilverlightApplication8.accordianDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="400" d:DesignWidth="400"
xmlns:sdk2="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Layout.Toolkit">
<Grid x:Name="LayoutRoot" Background="White">
<sdk2:Accordion SelectionMode="ZeroOrMore" Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<sdk2:AccordionItem Header="Item 1" MaxHeight="150" Background="LightGoldenrodYellow">
Hello World Row 1
</sdk2:AccordionItem>
<sdk2:AccordionItem Header="Item 2" MaxHeight="150" Background="LightGray">
Hello World Row 2
</sdk2:AccordionItem>
<sdk2:AccordionItem Header="Item 3" Background="LightBlue">
Hello World Row 3
</sdk2:AccordionItem>
</sdk2:Accordion>
</Grid>
</UserControl>
你好,世界第一排
你好,世界第二排
你好,世界第三排
尝试设置内容的最大高度。现在,您将内容设置为字符串
尝试将其设置为内容控件
<sdk2:Accordion SelectionMode="ZeroOrMore" Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<sdk2:AccordionItem Header="Item 1" Background="LightGoldenrodYellow">
<ContentControl Content="Hello World Row 1" MaxHeight="150" />
</sdk2:AccordionItem>
<sdk2:AccordionItem Header="Item 2" Background="LightGray">
<ContentControl Content="Hello World Row 2" MaxHeight="150" />
</sdk2:AccordionItem>
<sdk2:AccordionItem Header="Item 3" Background="LightBlue">
<ContentControl Content="Hello World Row 3" />
</sdk2:AccordionItem>
</sdk2:Accordion>
尝试设置内容的最大高度。现在,您将内容设置为
字符串
尝试将其设置为内容控件
<sdk2:Accordion SelectionMode="ZeroOrMore" Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<sdk2:AccordionItem Header="Item 1" Background="LightGoldenrodYellow">
<ContentControl Content="Hello World Row 1" MaxHeight="150" />
</sdk2:AccordionItem>
<sdk2:AccordionItem Header="Item 2" Background="LightGray">
<ContentControl Content="Hello World Row 2" MaxHeight="150" />
</sdk2:AccordionItem>
<sdk2:AccordionItem Header="Item 3" Background="LightBlue">
<ContentControl Content="Hello World Row 3" />
</sdk2:AccordionItem>
</sdk2:Accordion>
这看起来很有希望,但没有。在这种情况下,它只是忽略了最大高度,并扩展了每个手风琴项目,以填充所有大于150的可用空间。我尝试过使用比字符串更健壮的内容,同样的事情也发生了。这只是我能举的最简单的例子来说明这个问题对不起,这是因为你的垂直对齐设置为拉伸,你可能需要自己编写衍生的AccordionItem,然后自己进行测量/安排。哦,是的-也许我会改变我的UI,这样我就不想在前两个项目上有固定的高度:)谢谢,假设没有人参与(简单的)解决方法,我会接受这个HA-你在纽约。几周后,我要回城里去度一个急需的假期;我来自北部。不管怎样,够了。再次感谢这看起来很有希望,但是没有。在这种情况下,它只是忽略了最大高度,并扩展了每个手风琴项目,以填充所有大于150的可用空间。我尝试过使用比字符串更健壮的内容,同样的事情也发生了。这只是我能举的最简单的例子来说明这个问题对不起,这是因为你的垂直对齐设置为拉伸,你可能需要自己编写衍生的AccordionItem,然后自己进行测量/安排。哦,是的-也许我会改变我的UI,这样我就不想在前两个项目上有固定的高度:)谢谢,假设没有人参与(简单的)解决方法,我会接受这个HA-你在纽约。几周后,我要回城里去度一个急需的假期;我来自北部。不管怎样,够了。再次感谢