我对Silverlight UI开发相对缺乏经验,所以如果这个问题有明显的答案,请原谅我,但我一直无法在这里找到,或“在那里”。
我只想将按钮的宽度设置为可用的最大空间。这“基本上”是它的父母的宽度,虽然利润率等(两者)将发挥作用。
我有一个动态生成的按钮列表,在ItemsControl中,垂直排列,并希望它们全部用完父级中可用的全部宽度。我已经看到了将宽度绑定到父节点的示例,但我希望有一个更简洁的解决方案,因为滚动条,边距和其他元素导致父节点的宽度不理想。
这方面的任何建议都是有益的,也是值得赞赏的。
编辑:在回复发布XAML的请求时,我已经这样做了。
我最初使用的XAML(带有硬编码宽度):
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" Height="500" Margin="0">
<ItemsControl ItemsSource="{Binding SomeOptions}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,1">
<Button Content="{Binding OptionKey}" Height="Auto" Width="400" HorizontalContentAlignment="Left" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
现在,工作(使用“Stretch”),感谢接受的答案:
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" Height="500" Margin="0">
<ItemsControl ItemsSource="{Binding SomeOptions}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,1">
<Button Content="{Binding OptionKey}" Height="Auto" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
答案 0 :(得分:1)
在按钮上,您可以设置HorizontalAlignment =“Stretch”,这会将按钮拉伸到父级的宽度。