C# 制作一个UIElement';s宽度自动但不自动适合其父级?
有人知道如何使UIElement的宽度自动但不自动适合其父元素吗?我希望它扩展到容器之外(即使它被切断) 现在它是这样做的: 我希望它能做到这一点: 如果我在xaml中定义宽度,我可以实现这一点,但我希望使用auto Xaml:C# 制作一个UIElement';s宽度自动但不自动适合其父级?,c#,wpf,xaml,blend,C#,Wpf,Xaml,Blend,有人知道如何使UIElement的宽度自动但不自动适合其父元素吗?我希望它扩展到容器之外(即使它被切断) 现在它是这样做的: 我希望它能做到这一点: 如果我在xaml中定义宽度,我可以实现这一点,但我希望使用auto Xaml: 您的列表框样式中有什么?如果没有特定的样式和Width=“Auto”,则列表框将仅扩展到其内容,而不考虑其容器。但是样式可以覆盖此内容。抱歉,我现在无法检查。我从默认生成了样式,但我很确定我没有对它做任何修改。你对我可以在样式中编辑什么有什么建议吗?你应该删除所有
您的列表框样式中有什么?如果没有特定的样式和Width=“Auto”
,则列表框将仅扩展到其内容,而不考虑其容器。但是样式
可以覆盖此内容。抱歉,我现在无法检查。我从默认生成了样式,但我很确定我没有对它做任何修改。你对我可以在样式中编辑什么有什么建议吗?你应该删除所有与大小行为相关的内容。在大多数情况下,定义样式时,应仅指定与原始样式不同的内容。否则,您可能会与一些无人参与的覆盖混淆。
<UserControl.Resources>
<DataTemplate x:Key="ItemTemplate">
<StackPanel>
<TextBlock Text="{Binding RandomValues}"/>
</StackPanel>
</DataTemplate>
<ItemsPanelTemplate x:Key="UniformGridPanel">
<UniformGrid Rows="1" HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</UserControl.Resources>
<ListBox HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="Auto" DataContext="{Binding}" ItemTemplate="{DynamicResource ItemTemplate}" ItemsSource="{Binding Collection}" ItemsPanel="{DynamicResource UniformGridPanel}" Style="{DynamicResource ListBoxStyle}"/>