c# - WPF contextMenu control for bring forward and send backward -


having trouble here i'm hoping simple.

i have custom usercontrol in wpf allows me display image. when program running user can add usercontrol many times canvas. in effect simple image viewer can add , move images about.

i able right click these images open contextmenu , choose send backward of bring forward , images change z order depending menu choice clicked.

i have user control set contextmenu need know code changing z order of usercontrol...

any appreciated :)

namespace storyboardtool {     /// <summary>     /// interaction logic customimage.xaml     /// </summary>     public partial class customimage : usercontrol     {         private point mouseclick;         private double canvasleft;         private double canvastop;          public customimage()         {             initializecomponent();             cusimagecontrol.setvalue(canvas.leftproperty, 0.0);             cusimagecontrol.setvalue(canvas.topproperty, 0.0);         }          public void chooseimage()         {             openfiledialog ofd = new openfiledialog();             ofd.title = "choose image add";              if (ofd.showdialog() == true)             {                 bitmapimage bimage = new bitmapimage();                 bimage.begininit();                 bimage.urisource = new uri(ofd.filename);                 bimage.endinit();                  image.width = bimage.width;                 image.height = bimage.height;                 image.source = bimage;                 image.stretch = stretch.fill;             }         }          private void cusimagecontrol_lostmousecapture(object sender, mouseeventargs e)         {             ((customimage)sender).releasemousecapture();         }          private void cusimagecontrol_mouseup(object sender, mousebuttoneventargs e)         {             ((customimage)sender).releasemousecapture();             cusimagecontrol.cursor = cursors.arrow;         }          private void cusimagecontrol_mousemove(object sender, mouseeventargs e)         {             if ((((customimage)sender).ismousecaptured) && (cusimagecontrol.cursor == cursors.sizeall))             {                  point mousecurrent = e.getposition(null);                 double left = mousecurrent.x - mouseclick.x;                 double top = mousecurrent.y - mouseclick.y;                 mouseclick = e.getposition(null);                 ((customimage)sender).setvalue(canvas.leftproperty, canvasleft + left);                 ((customimage)sender).setvalue(canvas.topproperty, canvastop + top);                 canvasleft = canvas.getleft(((customimage)sender));                 canvastop = canvas.gettop(((customimage)sender));              }             else if ((((customimage)sender).ismousecaptured) && (cusimagecontrol.cursor == cursors.sizenwse))             {                 /*point mousecurrent = e.getposition(null);                 cusimagecontrol.height = cusimagecontrol.canvastop + mouseclick.y;                 cusimagecontrol.width = cusimagecontrol.canvasleft + mouseclick.x;                 mouseclick = e.getposition(null);*/              }         }          private void cusimagecontrol_mousedown(object sender, mousebuttoneventargs e)         {             mouseclick = e.getposition(null);             canvasleft = canvas.getleft(((customimage)sender));             canvastop = canvas.gettop(((customimage)sender));             ((customimage)sender).capturemouse();         }          private void contextmenubringforward_click(object sender, routedeventargs e)         {             messagebox.show("bring forward");          }          private void contextmenusendbackward_click(object sender, routedeventargs e)         {             messagebox.show("send backward");         }          private void contextmenumove_click(object sender, routedeventargs e)         {             cusimagecontrol.cursor = cursors.sizeall;         }             private void contextmenuresize_click(object sender, routedeventargs e)         {             cusimagecontrol.cursor = cursors.sizenwse;         }      } } 

see panel attached property canvas.setzindex. change z-index of elements 0, , z-index of right-clicked control 1.

void mouseup(object sender, mousebuttoneventargs e) {    foreach (var child in yourcanvas.children) canvas.setzindex(child, 0);     canvas.setzindex((uielement)sender, 1); } 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -