Dodałem DockPanel do elementu RadioButton w taki sposób, że mogę dystrybuować etykietę przycisku radiowego, pole tekstowe i przycisk w poziomie, używając 100% szerokości.WPF: Jak mogę rozciągnąć środkowe dziecko w DockPanel?
Używanie LastChildFill="True"
w DockPanel rozciąga ostatni element. To działa ładnie, jeśli pole tekstowe jest ostatnim dzieckiem w panelu. Ale ponieważ przycisk jest ostatnim elementem i ma stałą szerokość, pole tekstowe powinno zostać rozciągnięte. Jednak nie ma takiej własności, jak 2ndChildFill="True"
.
Mój kod wygląda następująco:
<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>
I to daje mi to:
pomysłów, podpowiedzi, aby rozwiązać ten problem? Wiele z góry dzięki ...
Dlaczego nie wykorzystać siatkę zamiast? Siatka z 3 kolumnami z drugim zestawem na * szerokość i inne ustawione na auto – Charleh
Tak, to może działać. Wygląda jednak na trochę przesadzonego. Czy DockPanel-Solution nie byłby bardziej elegancki? Nie potrzebuje wszystkich tych definicji kolumn. – brgn