C# 让文本框填充网格中的剩余空间
我有一个包含网格的列表框。 网格有一个标签列、一个GridSplitter和一个TextBox列。 如何使网格占据列表框的整个宽度,并使文本框使用网格列的整个空间C# 让文本框填充网格中的剩余空间,c#,wpf,textbox,grid,C#,Wpf,Textbox,Grid,我有一个包含网格的列表框。 网格有一个标签列、一个GridSplitter和一个TextBox列。 如何使网格占据列表框的整个宽度,并使文本框使用网格列的整个空间 <Grid> <ListBox x:Name="myList" Margin="4" ItemsSource="{Binding Path=Parameter}" MinHeight="60" Grid.IsSharedSizeScope="True" HorizontalAlignment="Stretc
<Grid>
<ListBox x:Name="myList" Margin="4" ItemsSource="{Binding Path=Parameter}" MinHeight="60" Grid.IsSharedSizeScope="True" HorizontalAlignment="Stretch" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid x:Name="parameterGrid" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="labelColumn" Width="Auto" SharedSizeGroup="LabelColumn"/>
<ColumnDefinition x:Name="splitterColumn" Width="5"/>
<ColumnDefinition x:Name="textColumn" Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Path=Key}" Grid.Column="0"/>
<GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
<TextBox Grid.Column="2" Text="{Binding Path=Value, UpdateSourceTrigger=LostFocus}"
IsEnabled="{Binding ElementName=_view, Path=DataContext.IsEditEnabled}">
</TextBox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
尝试在
列表框上设置HorizontalContentAlignment=“Stretch”
不要为文本框提供任何宽度和高度。哇!这么简单。你不会相信我做了多少事。但这不是其中的一部分。非常感谢你!
public class Parameter
{
public string Key { get; set; }
public string Value { get; set; }
public Parameter(string key, string value)
{
Key = key;
Value = value;
}
}