tutorial form content c# wpf xaml textbox dockpanel

c# - form - wpf gridsplitter



WPF: ¿Cómo puedo estirar al niño del medio en un DockPanel? (1)

DockPanel.Dock establecer la propiedad adjunta DockPanel.Dock para sus elementos y dejar TextBox como último elemento:

<RadioButton HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"> <DockPanel> <TextBlock DockPanel.Dock="Left" VerticalAlignment="Center" Text="in location:" /> <Button DockPanel.Dock="Right" Margin="10,0,0,0" Padding="3,0" Content="..." /> <TextBox Margin="10,0,0,0"> Path string </TextBox> </DockPanel> </RadioButton>

Agregué un DockPanel a un elemento RadioButton de modo que puedo distribuir la etiqueta del botón de radio, un cuadro de texto y un botón horizontalmente usando el 100% del ancho.

Usar LastChildFill="True" dentro del DockPanel estira el último elemento. Esto funciona bien si el cuadro de texto es el último elemento secundario del panel. Pero, como el botón es el último elemento y tiene un ancho fijo, el cuadro de texto debe estirarse. Sin embargo, no hay ninguna propiedad como 2ndChildFill="True" .

Mi código se ve así:

<RadioButton HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"> <DockPanel > <TextBlock VerticalAlignment="Center">in location:</TextBlock> <TextBox Grid.Column="1" Margin="10,0,0,0">Path string</TextBox> <Button HorizontalAlignment="Right" Margin="10,0,0,0" Padding="3,0">...</Button> </DockPanel> </RadioButton>

Y me da esto:

Alguna idea, pistas para arreglar esto? Muchas gracias de antemano...