背景:在實(shí)現(xiàn)鼠標(biāo)拖動(dòng)窗口的過(guò)程中發(fā)現(xiàn)對(duì)父容器設(shè)置了鼠標(biāo)拖動(dòng)窗口的事件MouseLeftButtonDown
private void DragWindow(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
DragMove();
}
問(wèn)題:非常困惑的是,竟然有的地方可以被點(diǎn)擊拖動(dòng),但是有的卻不行。
而且只有在設(shè)置了Background的這個(gè)地方是可以被點(diǎn)擊拖動(dòng)的
搜索了好一會(huì)發(fā)現(xiàn)確實(shí)是Background的問(wèn)題文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-775553.html
- 當(dāng)控件(如
Grid
)的背景設(shè)置為null
(默認(rèn)情況),它實(shí)際上是不可見(jiàn)的,并且不參與命中測(cè)試(hit testing)。命中測(cè)試是 WPF 用來(lái)決定哪個(gè)控件應(yīng)該接收鼠標(biāo)事件的過(guò)程。- 如果一個(gè)控件不參與命中測(cè)試,當(dāng)您嘗試點(diǎn)擊該控件時(shí),實(shí)際上點(diǎn)擊的是位于該控件下面的其他控件或窗口。
因此需要設(shè)置了Background了才能命中該容器,如果不需要顏色的可以設(shè)置為T(mén)ransparent文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-775553.html
到了這里,關(guān)于WPF容器的背景對(duì)鼠標(biāo)事件的影響的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!