我想在一个画板里面布置一些背景色,其颜色根据用户操作而变化,但不知道怎么画这个背景色。
windows phone的控件有没有 OnPaint 效果的函数,但用户改变操作时,就重画这个函数,我只要在 OnPaint 函数里画背景就可以了。
但一直没有找到这样的函数,有没有别的方法可以实现?
------解决方案--------------------
WP的实现机制不再和Win32或MFC的绘制机制一样了,准确的说已经做了一层包装了。
如果响应用户的操作,可以通过订阅用户具体的某一项动作事件,在这个事件里做颜色的改变。
------解决方案--------------------
没了,你不需要自己绘制控件了。目前WP的开发策略是和网页开发一致的,不再是桌面开发了。
------解决方案--------------------
layout_update,界面更新的时候会触发,这个应该靠谱
------解决方案--------------------
用户操作改变时你可以用动画去处理,不需要你重绘。
建议你了解下控件模板
------解决方案--------------------
根据操作事件变换背景的话虽然不知道需求,但是又两种思路:
1.Binding一个数据源(实现通知机制,即实现INotifyProperty或是依赖属性),当触发操作事件时,改变数据源背景就会变换。
2.如果你很想用重绘函数,那么你可以试着用CompositionTarget.Rendering注册事件。
虽然我不太清楚你的需求,但是如果改变背景的话没那么复杂,只要在程序里面直接赋值就可以了,而且不用重绘,因为它是依赖属性,当它改变的时候会通知UI也跟着变化。