Wpf 如何将控件扩展到父控件之外';边界?

Wpf 如何将控件扩展到父控件之外';边界?,wpf,xaml,combobox,Wpf,Xaml,Combobox,我试图在点击切换按钮时弹出一个列表框。在代码隐藏中,我使用Visibility属性并将其设置为Visibility.Visible。然而,尽管列表框出现在屏幕上,但它被裁剪为切换框(30x30)的大小,而不是我希望的,它自己的大小(99x99) 我尝试将属性ClipToBounds设置为false,但没有太大的改变。我还尝试将组合框的高度设置为自动。这使得出现了一个滚动条(虽然是水平的,这本身有点出乎意料),但所有内容仍然被裁剪到切换框的边界 我需要设置更多的什么?或者我的方法不对(比如:我

我试图在点击切换按钮时弹出一个列表框。在代码隐藏中,我使用Visibility属性并将其设置为Visibility.Visible。然而,尽管列表框出现在屏幕上,但它被裁剪为切换框(30x30)的大小,而不是我希望的,它自己的大小(99x99)


我尝试将属性ClipToBounds设置为false,但没有太大的改变。我还尝试将组合框的高度设置为自动。这使得出现了一个滚动条(虽然是水平的,这本身有点出乎意料),但所有内容仍然被裁剪到切换框的边界


我需要设置更多的什么?或者我的方法不对(比如:我是否应该在切换按钮的子标记中为模板、触发器等定义组合框)?

如果不希望列表框位于切换按钮内,则不应将其放置在切换按钮内。把它放在切换按钮外面,它应该可以工作。也许您应该看看
扩展器
控件,它似乎可以满足您的需要。它仍然不会使扩张器体比扩张器大


还有一点需要注意:设置固定尺寸是不好的风格。尝试使用网格和各种面板等容器对窗口进行分区,这样就不需要固定的大小。如果您的切换按钮没有固定的大小,它可以在内容需要扩展时扩展。

至于大小-同意。不过,在这种特殊情况下,切换器必须具有一定的大小。至于扩展器,我试着添加一个叫做Popup的东西。这就是你的意思吗?我的意思是,当你需要看更多的东西时,你可以扩展。啊,你可以给我一个不同的方法。我将在其中设置一组复选框(其数量是根据为数组提供服务的属性动态确定的,因此我必须将其内容自定义为网格以外的内容,但是……如果您有IEnumerable(例如数组),则列表框似乎很好)要显示或绑定到的内容。如果确实需要固定大小的按钮和列表框,可以将它们放入网格中,按钮在第一行,列表在第二行。Naa,只有展开列表的设备需要具有一定的大小。如果按钮上的文本发生变化,按钮可以展开。扩展器的文本位于可视t之外hingy,所以这个问题变得毫无意义。真是个好建议,伙计
<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>