c# - 延伸到列表框宽度但不超过宽度的列表框项目

标签 c# .net wpf

我有一个列表框,我想占据我的窗口宽度,列表框项目将拉伸(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.Horizo​​ntalScrollBarVisibility="Disabled" 添加到 ListBox,它对我有用。

关于c# - 延伸到列表框宽度但不超过宽度的列表框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7500446/

相关文章:

c# - $select 和 $expand 中断 ODataQueryOptions——如何修复?

c# - 使用 Kendo Grid,如何更改工具栏中 "Create"按钮上的文字?

javascript - 如何将不属于模型一部分的 div 值传递给后端 Controller 方法

c# - 在 CSVHelper 中添加虚拟空字段

c# - 从 bin 以外的文件夹加载程序集

c# - 当使用数据表作为 IListSource 填充时,根据值更改 WPF DataGrid 单元格的背景

wpf - 在 ControlTemplate 中更改 WPF TextBox 前景色

c# - 在 Window Loaded WPF C# 中跳过代码

c# - 如何正确添加 C# 独立脚本作为 Octopus Deploy 中的一个步骤?

c# - 通过ajax将模型发布到 Controller 为空