C# 与窗口大小匹配的UserControl
我的应用程序是用WPF编写的。我有一个初始宽度为400的窗口。在该窗口中,我有一个DockPanel,其中包含一个名为C# 与窗口大小匹配的UserControl,c#,wpf,xaml,user-controls,listbox,C#,Wpf,Xaml,User Controls,Listbox,我的应用程序是用WPF编写的。我有一个初始宽度为400的窗口。在该窗口中,我有一个DockPanel,其中包含一个名为ElementsPanel的自定义用户控件 代码如下: ... ElementsPanel控件由带有列表框的StackPanel组成。ListBox的ItemsPanel以一个简单的ScrollViewer和ItemsPresenter为模板 下面是代码: ... 我希望我的ElementsPanel及其内容的宽度在窗口调整大小时都能调整大小,以便在有太多按钮无法显示
ElementsPanel
的自定义用户控件
代码如下:
...
ElementsPanel控件由带有列表框的StackPanel组成。ListBox的ItemsPanel以一个简单的ScrollViewer和ItemsPresenter为模板
下面是代码:
...
我希望我的ElementsPanel及其内容的宽度在窗口调整大小时都能调整大小,以便在有太多按钮无法显示时启用水平滚动。现在我得到的是:
500x400窗口:
更广泛的:
如何实现我的目标?将用户控件的宽度绑定到窗口的实际宽度:
<Window x:Class="Adiastemo2.EditWindow" ... Height="500"
Width="400" x:Name="view2" ... >
<DockPanel>
<StackPanel Height="70" DockPanel.Dock="Top" Background="Beige">
<local:ElementsPanel Width="{Binding ActualWidth,
ElementName=view2}"/>
</StackPanel> ...
...
谢谢,当我将ListBox的VirtualzingStackPanel的宽度绑定到UserControl的宽度时,它也很有帮助。