我有一個UserControl,它將在運行時加載到ContentControl中。 即使我沒有設置寬度和高度,用戶控件也不會將其大小調整爲父級控件。我錯過了什麼?動態添加UserControl不會調整爲父級大小
<ContentControl x:Name="MainContentControl" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" >
<Label Background="LightGray" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" >Sample control </Label>
</ContentControl>
的ContentControl中內的樣品控制(標籤)工作得很好,並擴大取決於ContentControl中的大小變化。
當我現在所擁有的用戶控件更換標籤的用戶控件的大小具有爲MAXSIZE這裏面
在這裏,標籤的位置的用戶控件
<UserControl x:Class="test.testUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Label Content="Label" HorizontalAlignment="Left" Margin="235,200,0,0" VerticalAlignment="Top"/>
</Grid>
你的標籤對齊到容器左上角他們的價值,所以它可能只是看上去如此。你應該抓住Snoop並在運行時檢查你的UI,看看它是如何佈局的。 – Will
謝謝你的迴應。第二個代碼示例中的標籤不是問題。 UserControl本身並不是父ContentControl的完整大小。如果我給網格一個背景顏色......它表明它只有在標籤結束時纔會着色。真正的問題是,我在我的完整代碼中有一個ListView,在這個UserControl裏面,並且希望這是一個完整的寬度,並且使用完整的高度(而不需要改變它的頂部和左邊......)。但顯然,UserControl不會擴大其父項的大小,因此usercontrols的子項不會擴展 – freeskydiver
ListViews是關於此的PITA。您必須專門設置[橫向和縱向內容對齊](https://msdn.microsoft.com/en-us/library/system.windows.controls.control.horizontalcontentalignment%28v=vs.110%29。 aspx?f = 255&MSPPError = -2147217396),否則他們的子女不佔用所有可用空間。與其試圖配對你的代碼,不如創建一個[mcve]來重現你的問題,並將其放入一個[編輯] – Will