При создании UserControl в WPF мне удобнее давать некоторые произвольные значения Height и Width, чтобы я мог просматривать мои изменения в дизайнере Visual Studio. Однако, когда я запускаю элемент управления, я хочу, чтобы высота и ширина были undefined, поэтому элемент управления будет расширяться, чтобы заполнить любой контейнер, в который я его помещаю. Как я могу получить эту же функциональность, не удаляя высоту и ширину ценностей, прежде чем строить свой контроль? (Или без использования DockPanel в родительском контейнере.)
Следующий код демонстрирует проблему:
<Window x:Class="ExampleApplication3.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:loc="clr-namespace:ExampleApplication3"
Title="Example" Height="600" Width="600">
<Grid Background="LightGray">
<loc:UserControl1 />
</Grid>
</Window>
Следующее определение UserControl1
отображается во время разработки, но отображается как фиксированный размер во время выполнения:
<UserControl x:Class="ExampleApplication3.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid Background="LightCyan" />
</UserControl>
Следующее определение UserControl1
отображается как точка во время разработки, но расширяется, чтобы заполнить родительский Window1
во время выполнения:
<UserControl x:Class="ExampleApplication3.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid Background="LightCyan" />
</UserControl>