Go Back   { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Microsoft > .NET Framework

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-10-2008, 06:56 PM
RealCat
 
Posts: n/a
Basic question on WPF, chaning zoom level like in VS.NET designer.

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?
Reply With Quote
  #2 (permalink)  
Old 07-11-2008, 09:47 PM
Chris Jobson
 
Posts: n/a
Re: Basic question on WPF, chaning zoom level like in VS.NET designer.

"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/presentation"
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


Reply With Quote
Reply

  { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Microsoft > .NET Framework


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 06:12 PM.


Powered by vBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.
© 1999-2008 mindfrost82.com v11.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109