Chciałbym mieć obraz wewnątrz płótna i dopasować go do okna. Gdy płótno jest puste, działa dobrze (płótno jest zmieniane w oknie), jednak gdy dodaję do niego obraz, płótno nie pasuje do okna, nawet jeśli mam rozciągnięty obraz "jednolity". I ilustruję to zachowanie poniżej. Używanie płótna jest niestety wymagane, ponieważ rysuję nad nim kształty. Masz jakieś pomysły?Rozciągnij obraz na płótnie
Dobry
<Window x:Class="ImageCropper.Window3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window3" Height="300" Width="300">
<Border BorderThickness="3" BorderBrush="Red">
<Canvas Background="Blue">
</Canvas>
</Border>
</Window>
Bad
<Window x:Class="ImageCropper.Window3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window3" Height="300" Width="300">
<Border BorderThickness="3" BorderBrush="Red">
<Canvas Background="Blue">
<Image Source="asd.png" Stretch="Uniform" />
</Canvas>
</Border>
</Window>
Twój obraz jest większy niż obszar, wymiany płótnie dla ViewBox lub ponieważ wygląda to po prostu używane jako w tle, dlaczego nie po prostu użyć go jako Border.Background z ImageBrush? –
Próbowałem zawijania obrazu z ViewBox, ale to nie pomaga i Border jest tylko dla ilustracji w tym pytaniu, nie używam go normalnie. Obraz niestety nie jest jedynie tłem. – user1121956
Więc porzuciłeś płótno dla viewbox i ustaw viewbox [stretch] (https://msdn.microsoft.com/en-us/library/system.windows.media.stretch%28v=vs.110%29.aspx) na jednolitego lub jednolitego do wypełnienia? To powinno działać dobrze, zgadnij, że możemy potrzebować bardziej realnego przykładu tego, co próbujesz osiągnąć. –