Я несколько дней бился головой, пытаясь понять, почему мои элементы управления не хотят изменять размер.
Например, ниже у меня есть background.png в качестве фона окна в окне с изменяемым размером. Размер окна успешно изменяется, и фон заполняет все окно по мере необходимости. Но изображения не будет! Оба изображения имеют формат .png, оба имеют одинаковое разрешение и разрешение.
Изображение в ActuatorUC должно точно совпадать с фоном, учитывая, что оно имеет прозрачные части.
MainWindow.xaml ->
<Window.Background>
<ImageBrush ImageSource="Resources/background.png"></ImageBrush>
</Window.Background>
<Grid Name="mainGrid">
<tc:ActuatorUC x:Name="act1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Grid>
АктуаторUC.xaml ->
<Canvas Name="canvas" >
</Canvas>
АктуаторUC.xaml.cs ->
private void LoadImage(string imageName )
{
this.canvas.Children.Clear();
Image image = new Image();
string newImageName = "pack://application:,,,/Resources/" + imageName + ".png";
image.Source = (new ImageSourceConverter()).ConvertFromString(newImageName) as ImageSource;
image.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
image.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
this.canvas.Children.Add(image);
}
Динамически добавленное изображение работает, оно отображается, но не меняет размер с родительским холстом.
Я сделал тонны поисков, но я просто не могу понять это. Я почти уверен, что это что-то простое или какое-то недоразумение, которое у меня есть о wpf. К сожалению, изображения являются собственностью, поэтому я не могу добавить их в эту публикацию.
Заранее спасибо.