Aplikacia v jazyku C# wpf. Zoomovanie

Programovacie jazyky, rady, poradňa...
n_mishoo
Novice
Novice
Príspevky: 1
Registrovaný: 19 aug 2012, 15:52

Aplikacia v jazyku C# wpf. Zoomovanie

Príspevok od používateľa n_mishoo »

zdravím vás, potreboval by som radu ohľadom mojej aplikácie ktorú kódim v C# konkretne WPF. Monetalne si lámem hlavu nad zoomom zatiaľ som rozbehol asi takéto niečo :

Kód: Vybrať všetko

  

private void workspace_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
        {
            if (Keyboard.IsKeyDown(Key.LeftCtrl))
            {
                
                var position = (Vector)e.GetPosition(workspace);
 
                e.Handled = true;
                if (e.Delta > 0) _zoomLevel = _zoomLevel + 0.1;
                if (e.Delta < 0 && _zoomLevel > 0.15) _zoomLevel = _zoomLevel - 0.1;

                viewer.Height = (workspace.Height + position.X) * _zoomLevel - position.X;
                
                viewer.Width = (workspace.Width + position.Y) * _zoomLevel - position.Y;

                if (_statusTextMessage != null) _statusTextMessage.Content = "Zoom level: " + (_zoomLevel * 100).ToString() + " %";
            }
tento kód funguje len by som chcel spraviť aby mi zoomovalo od pozície kurzora ,teraz to zoomuje iba od ľavého okraja a od vrchu .
Napísať odpoveď