c# - Scale child back in WPF -


i have grid scaled/zoomed scaletransform slider. @ runtime many uielements added grid.

i want show tooltips, not scaled! how should that?

for example: grid has scalex , scaley 2, set new scaletransform(0.5, 0.5), didn't help. seems similar value 0.740.. why? grid's layouttransform.inverse set scale values 0.5.

xaml:

<scrollviewer horizontalscrollbarvisibility="auto" verticalscrollbarvisibility="auto" height="auto" width="auto" name="graphscrollviewer" scrollchanged="graphscrollviewer_scrollchanged"> <grid margin="0,0,0,0" name="graphgrid" width="auto" height="auto" scrollviewer.isdeferredscrollingenabled="true"  mouseleftbuttondown="graphgrid_mouseleftbuttondown" mouseleftbuttonup="graphgrid_mouseleftbuttonup" mousemove="graphgrid_mousemove">     <grid.layouttransform>         <scaletransform scalex="{binding elementname=sldzoom, path=value}" scaley="{binding elementname=sldzoom, path=value}" />     </grid.layouttransform> </grid> </scrollviewer>  <slider minimum="0.1" maximum="20" value="1" x:name="sldzoom" panel.zindex="10" orientation="horizontal" verticalalignment="bottom" horizontalalignment="right" margin="0,0,20,20" height="23" width="100"  valuechanged="sldzoom_valuechanged"/>   

code-behind: (method of rectangle (mouseenter event) dynamically added grid)

private void rect_mouseenter(object sender, mouseeventargs e) {     recttooltip = new textblock();     recttooltip.horizontalalignment = horizontalalignment.left;     recttooltip.verticalalignment = verticalalignment.top;     recttooltip.textalignment = textalignment.center;     recttooltip.height = this.headertwoheight + 1;     recttooltip.text = " " + (rectstasks[(sender rectangle)]).info + " ";     recttooltip.background = this.tooltipbackground;     recttooltip.foreground = this.tooltipfontcolor;      recttooltipborder = new border();     recttooltipborder.child = recttooltip;     recttooltipborder.borderthickness = new thickness(this.tooltipborderthickness);     recttooltipborder.borderbrush = this.tooltipbordercolor;     recttooltipborder.margin = new thickness(e.getposition((graphgrid)).x + 10,     e.getposition((graphgrid)).y + 10, 0, 0);     recttooltipborder.verticalalignment = system.windows.verticalalignment.top;     recttooltipborder.horizontalalignment = system.windows.horizontalalignment.left;      graphgrid.children.add(recttooltipborder);      recttooltipborder.layouttransform = recttooltip.layouttransform = new scaletransform(????);                grid.setzindex(recttooltip, 20);     grid.setzindex(recttooltipborder, 20); } 

you need assign inverse transform child element, child stay intact.

recttooltipborder.layouttransform = graphgrid.layouttransform.inverse transform; 

Comments

Popular posts from this blog

android - Inheriting from Theme.AppCompat* -

broadcastreceiver - android BOOT_COMPLETED not received if not activity intent-filter -

basic authentication with http post params android -