Мне нужно создать UserControl, который размещен в «родительском» ContentControl, который настроен с горизонтальным и вертикальным выравниванием «Центр».WPF Force UserControl расширяется, чтобы заполнить максимальный размер рендера
Этот элемент управления содержит еще один «дочерний» UserControl, который я хотел бы быть таким большим, чтобы он мог получить без растягивания по размеру рендеринга.
Я заметил, что если размер ребенка будет больше, чем размер рендеринга, я получаю размер, который я хочу как свойство «Желаемый размер» для этого элемента управления. Однако я не вижу, как я могу получить эту информацию без увеличения размера элемента управления.
Я создал этот образец, чтобы проиллюстрировать ситуацию, я хочу, чтобы розовый фон ChildControl растягивался по всему окну.
Просто чтобы прояснить, я только контроль над «ControlableElementA» и «ControlableElementB» я не могу связать с главным окном, в реальном приложении я использую это в качестве встроенного окна с различными уровнями иерархии между ..
«ChildControl» и «ParentControl» недоступны из-за ограничений выше меня.
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="300" Width="300">
<Grid>
<ContentControl Name="ParentControl" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid Name="ControlableElementA" Background="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ContentControl Name="ControlableElementB">
<Grid Name="ChildControl" Background="Pink" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Button Width="30" Height="30"></Button>
</Grid>
</ContentControl>
</Grid>
</ContentControl>
</Grid>
</Window>
Благодаря вперед, я прошу прощения, если описание немного загадочное
Вы можете попробовать изменить ChildControl на DockPanel и установить для свойства LastChildFill значение true. – Alex
К сожалению, как я уже упоминал В реальном приложении, нет никакой власти над содержимым childControl. Спасибо за ответ в любом случае. –