单击切换按钮时,我试图弹出一个列表框。在后面的代码中,我使用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。这样就出现了滚动条(尽管水平滚动条本身有点出乎意料),但是所有内容仍然被裁剪到切换框的边界。
我需要设定什么?还是我以错误的方式进行处理(例如:我应该在切换按钮的子标签中定义模板,触发器之类的组合框,而不是在其中)吗?
如果您不希望列表框位于切换按钮内,则不应将其放在切换按钮内。将其放在切换按钮之外,它应该可以工作。也许您应该看看Expander
控件,它似乎可以满足您的需求。仍不会使扩展器主体大于扩展器。
其他注意事项:设置固定大小是不好的样式。尝试使用诸如Grid和各种面板之类的容器对窗口进行分区,并且不需要固定大小。如果您的切换按钮没有固定大小,则在需要扩展内容时它可能会扩展。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句