[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework

Basic question on WPF, chaning zoom level like in VS.NET designer.

RealCat

7/10/2008 6:57:00 PM

Hello.
For the first time in my several years of C# coding, I'm actually
trying to learn WPF. I know that everything I see on the XAML is
vector-based. Since the most significant advantage of vector graphics
is that they can be scaled without loss of graphic quality, I'd like
to write an application whose entire window can be zoomed in and out
as the user wants (I always have been hated applications in small
windows...). Just like in the VS.NET designer. In VS.NET designer
there is a scaler at the top-left corner, and the entire window can be
zoomed in our out very easily.

So, if I want to change the zoom level (I don't know this is the
correct terminology) of my window at runtime, is there any quick and
easy way to do that? I don't mean changing the size of the window and
the layouts of the controls accordingly using some kind of layout
manager. I mean the complete zoom just like we can do in VS.NET
designer.

Thank you for reading.

PS : I cannot find a specific group for WPF, is there any?
1 Answer

Chris Jobson

7/11/2008 9:47:00 PM

0

"RealCat" <typingcat@gmail.com> wrote in message
news:c2033d06-2531-44ff-9633-e1f86d809119@y21g2000hsf.googlegroups.com...
> Hello.
> For the first time in my several years of C# coding, I'm actually
> trying to learn WPF. I know that everything I see on the XAML is
> vector-based. Since the most significant advantage of vector graphics
> is that they can be scaled without loss of graphic quality, I'd like
> to write an application whose entire window can be zoomed in and out
> as the user wants (I always have been hated applications in small
> windows...). Just like in the VS.NET designer. In VS.NET designer
> there is a scaler at the top-left corner, and the entire window can be
> zoomed in our out very easily.
>
> So, if I want to change the zoom level (I don't know this is the
> correct terminology) of my window at runtime, is there any quick and
> easy way to do that? I don't mean changing the size of the window and
> the layouts of the controls accordingly using some kind of layout
> manager. I mean the complete zoom just like we can do in VS.NET
> designer.

Try something like:

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presenta...
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml...
<StackPanel Orientation="Vertical">
<Slider x:Name="zoom" Minimum="0.5" Maximum="2" Value="1" Width="150"
HorizontalAlignment="Left"/>
<Grid>
<Grid.LayoutTransform>
<ScaleTransform ScaleX="{Binding ElementName=zoom, Path=Value}"
ScaleY="{Binding ElementName=zoom, Path=Value}" />
</Grid.LayoutTransform>
<Button Margin="50" HorizontalAlignment="Left" Content="Press Me"/>
</Grid>
</StackPanel>
</Page>

Chris Jobson