请教各位,因为图片上有按钮,可是图片大小是可以更改的,所以图片上的按钮需要用的相对大小与相对位置,请问我如何能根据图片算出图片上的按钮的相对大小和相对位置呢?先谢谢各位了

解决方案 »

  1.   

    你每次改变图片的大小的增量能够知道,用这个增量去加上或减去按钮的当前坐标,就得出按钮的新的跟随图片的坐标位置了。
    如果用wpf的话更简单了,图片作为一个容器的背景,然后容器里面放按钮,用ScaleTransform作放大缩小的变换,就行。
      

  2.   

    谢谢楼上的兄弟了先,我知道图片的大小,可是怎么在WPF中定义这个图片按钮呢?使得他虽窗口大小的改变而改变
      

  3.   


    我提供3种思路:
    1.在窗口内放一个Grid,里面嵌一个ViewBox,然后把按钮什么的控件全都放到ViewBox控件内,把ViewBox的stretch属性设成Fill,那么只要你窗口拉大,内部的控件也会跟着放大。2.把按钮的宽和binding到窗口的宽和高上,做一个全局变量记录下窗口显示时的初始大小,然后为按钮的绑定做一个convert,在convert里面将新的值减去初始的大小值就是增量,convert转完的值就会通过binding的结构传给按钮。3.当然是响应窗体的SizeChanged事件,然后在事件中计算出窗口的变化增量,来控制按钮的大小。
      

  4.   


    你如果仅仅是想在按钮上显示整张图片,那么你就做一个ImageBrush付给按钮的Background属性。
    如果想做的更复杂些,建议你自己做一个从Button继承来的按钮类,然后在自定义按钮类中做一个表示图片路径的依赖属性,并且再为这个自定义按钮类做一个含有模板的Style,这样你就能作任何你想要的效果的图片按钮了。