单击切换按钮时,我正在尝试弹出一个列表框。在后面的代码中,我使用 Visibility 属性并将其设置为 Visibility.Visible 。但是,虽然列表框出现在屏幕上,但它会被裁剪为切换框(30x30)的大小,而不是按照我的意愿,它自己的大小(99x99)。
<ToggleButton HorizontalAlignment="Left" Margin="0,0,0,0"
VerticalAlignment="Top" Width="30" Height="30"
Click="ButtonBase_OnClick">
<ListBox x:Name="listBox1"
ClipToBounds="False"
Visibility="Collapsed"
HorizontalAlignment="Left"
Height="99"
VerticalAlignment="Top"
Width="99">
<CheckBox x:Name="checkBox3" Content="CheckBox"/>
<CheckBox x:Name="checkBox4" Content="CheckBox"/>
</ListBox>
</ToggleButton>
我已尝试将属性 ClipToBounds 设置为 false ,但它没有给出太多变化。我还尝试将组合框的高度设置为 Auto 。这使得一个滚动条出现(虽然水平,但本身有点出乎意料)但是一切仍然被裁剪到切换框的边界。
我需要设置更多?或者我是以错误的方式接近它(如:我应该在切换按钮的子标签中定义模板,触发器和不是什么的组合框?)
答案 0 :(得分:2)
如果您不希望列表框在内部切换按钮,则不应将其放在切换按钮内。将它放在切换按钮之外,它应该工作。也许你应该看看Expander
控件,它似乎可以满足您的需要。它仍然不会使膨胀机体比膨胀机大。
需要注意的是:设置固定尺寸是不好的风格。尝试使用Grid和各种面板之类的容器对窗口进行分区,您不需要固定大小。如果您的切换按钮没有固定大小,则当内容需要扩展时,它可能会扩展。