繁体   English   中英

如何将控件扩展到父母的范围之外?

[英]How to expand a control beyond the parent's bounds?

单击切换按钮时,我试图弹出一个列表框。 在后面的代码中,我使用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控件,这似乎Expander您的需求。 仍不会使扩展器主体大于扩展器。

其他注意事项:设置固定大小是不好的样式。 尝试使用诸如Grid和各种面板之类的容器对窗口进行分区,并且不需要固定大小。 如果您的切换按钮没有固定的大小,则在内容需要扩展时可能会扩展。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM