Представьте, что у меня есть две кнопки WPF в окне со следующим содержимым:
<Button>OK</Button>
<Button>Cancel</Button>
Я хочу, чтобы эти кнопки были иметь одинаковую ширину, однако в сценарии, где Контент
привязан к локализованному значению для данного языка пользователя, я не знаю, какой ширины должны быть кнопки для размещения нового контента.
Как я могу применить минимальную ширину к этим кнопкам, чтобы ширина самой широкой (в зависимости от содержимого) эффективно использовалась как MinWidth
для обеих кнопок, таким образом сохраняя их однородность?
Или чтобы Другими словами: я не хочу, чтобы кнопки были шириной своего контейнера (если только использование контейнера не является ответом на мою проблему), и я не хочу, чтобы каждая из них просто соответствовала своему размеру контент, потому что это сделает их разных размеров. Я хочу что-то среднее. Один с наибольшим размером содержимого для отображения его содержимого, а все остальные с размером до той же ширины, поэтому все ширины равны.
Я ожидаю, что ответ заключается в помещении их в какой-то контейнер. Я знаю, что могу использовать сетку
и позволить им заполнять «ячейки» сетки, но дело в том, что я не хочу, чтобы они тоже были шириной. Я знаю, что мог бы иметь некоторый код программной части, который запускается на событии Content_Changed
кнопок и устанавливает минимальную ширину самой широкой кнопки, но меня интересует метод pure-xaml. Возможно, мне нужно создать настраиваемый элемент управления, расширяющий ItemsControl
, который использует код программной части при добавлении или изменении размера новых элементов и применяет ширину самого широкого элемента как MinWidth
для все остальные предметы.
Заранее большое спасибо.
Use UniformGrid
<UniformGrid HorizontalAlignment="Right" Rows="1" Columns="2">
<Button Content="Ok" Grid.Column="0"/>
<Button Content="Cancel" Grid.Column="1"/>
</UniformGrid>