以前在SO上说过如何让WPF按钮改变外观的问题。但是,希望这个问题仍然适用,我想知道是否有人知道为什么它变化如此之小。经过我作为一名程序员的这些年来,我已经学会了足够的谦虚,认为如果我发现自己努力改变专业产品的基本行为,我可能不会理解产品以及我应该理解的产品。
对我来说特别令人困惑的是,按下时,WPF按钮的屏幕外观会发生变化。当鼠标悬停在它上面时,这是一个WPF按钮:
点击期间按下鼠标按钮即可显示该按钮:
乍一看,它们看起来一样,但它们并非如此。对这些屏幕提示中的像素进行采样,通过编辑按钮的WPF模板的副本来确认您还可以收集的内容:" MouseOver" state用0xBEE6FD填充背景(即红色= 0xBE,绿色= 0xE6,蓝色= 0xFD),而#34;按下" state用0xC4F5E6填充背景。 (在数值上,RGB颜色空间的距离约为0.11,在每个轴上标准化为[0,1]范围,在任何轴上都不超过0.09。)如果按下按钮的外观完全没有改变,那将更有意义。这与网页上按下的很多按钮一致(或者它们也会改变,而且也只是一点点,而我还没注意到它?)。但是,在这里,有人做出了具体决定,改变那两个(通常是连续的)状态之间按钮的外观,但只是一点点,可能太小甚至看不到。
为什么一个人会做出这样的选择?
我认识到提出征求意见的问题是反对SO政策的,所以我希望我对我要求的内容有点严格:是否有人真正知道为什么WPF按钮在转换时会略微改变外观"鼠标悬停"到"按下"州?特别是微软发布的任何内容都解决了这个问题吗? (谷歌搜索这个答案证明是有问题的,因为我发现大多数结果是关于如何编辑样式或模板,以使外观变化更大,而不是为什么它以这种方式开始工作。)
感谢所有能帮助我理解我在这里失踪的人。