我的WPF应用程序中有一个UserControl。 UserControl有一个列表框,可以是任意大小,下面是一些{% for picture_field in picture_formset %}
{% if picture_field.instance.image %}
<img width="25%" src="{{ picture_field.instance.image.url }}" />
{% endif %}
{% endfor %}
。
当我将UserControl放在我的一个视图中时,我希望它在父级调整大小时垂直调整大小。但是,我希望ListBox减少高度,而不是整个控件。这意味着在较小的屏幕上,按钮保留在屏幕上,但它们在ListBox中看不到太多内容。我可以使用MinHeight来确保按钮和列表框中的至少一个项目可见!
我发现类似问题,例如WPF user control does not resize with main window,但我的代码没有任何高度或宽度
我的用户控件
buttons
和视图
<Grid>
<StackPanel>
<ListBox ItemsSource="{Binding MessageList" ></ListBox>
<WrapPanel HorizontalAlignment="Center">
<Button Content="Expand" HorizontalAlignment="Left" Margin="0,0,40,0"/>
</WrapPanel>
</StackPanel>
</Grid>
无论我如何调整View的大小,UserControl似乎都保持完全相同的大小。
我尝试了<Grid>
<StackPanel>
<uc:RecentList MessageList="{Binding Messages}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</StackPanel>
</Grid>
,但这缩小了一切!
我也尝试过(在ViewBox
)
UserControl
但没有区别。
答案 0 :(得分:2)
StackPanel不会将其子元素拉伸到<Grid>
<uc:RecentList ... />
</Grid>
的方向。
因此,删除所有StackPanel并在UserControl中的Grid中定义两行:
Build after other projects are built
在主视图中:
{{1}}
查看MSDN上的videos/list
文章。