我有一个列表框,我想占据我的窗口宽度,列表框项目将拉伸(stretch)到列表框的大小。
每个列表框项都是一个数据模板,宽度约为 150 英寸,用于信息,其余尺寸为用于描述的文本框。我希望描述 texbox 拉伸(stretch)到剩余的可用大小。所以这是我认为会创建此布局的示例 xaml:
<Window x:Class="test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox Margin="20,20,20,20" ItemsSource="{Binding Path=List}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment"
Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="AliceBlue"
BorderThickness="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Width="20"
Content="Test" />
<ComboBox Width="130" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch" />
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
但是,当我在文本框中键入内容并且文本宽度超过了列表框的宽度时,列表框项目不断增长并且出现了水平滚动条。
我想要实现的是文本框的最大宽度刚好达到列表框并且不会变宽。有人知道我如何实现这种布局吗?
最佳答案
尝试将 ScrollViewer.HorizontalScrollBarVisibility="Disabled"
添加到 ListBox
,它对我有用。
关于c# - 延伸到列表框宽度但不超过宽度的列表框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7500446/