Я новичок в WPF, так что медведь со мной. Я установил фоновое изображение своего окна с помощью ImageBrush, и теперь я хочу, чтобы размер моего окна был точно размером с фоновым изображением. Очевидным решением для этого является просто задание свойства width/height вручную с помощью измерений пикселей моего фонового изображения, но это кажется слишком наивным. Каков наилучший способ сделать это? Вот мой XAML до сих пор:Размер окна такой же, как размер фонового изображения в WPF
<Window x:Class="FruitFactory.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Fruit Factory" Height="576" WindowStyle="None" DataContext="{Binding}" ResizeMode="NoResize" Width="834">
<Window.Background>
<ImageBrush ImageSource="/FruitFactory;component/Graphics/FruitFactoryBackground.png"></ImageBrush>
</Window.Background>
<Window.Resources>
</Window.Resources>
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="52,27,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" />
</Grid>
</Window>
Я использую Visual Studio 2010 и .NET 4.0
Это кажется почти работает. Являются ли атрибуты Ширина/Высота для окна измерены в пикселях? Размер близок, но не идеален, и я все еще вижу некоторое растяжение фонового изображения. Я понимаю, что WPF является независимым от разрешения, но я надеялся найти способ получить фоновое изображение, точно измеренное в пикселях. –
@Bob: Обновленный мой ответ, это решение будет работать лучше. К сожалению, он стал немного менее прямым. BitmapImage можно поместить в App.xaml в качестве более чистого решения. Окно –
не изменяет размер, это вздор в WPF. –