private void myChildWindow_MouseLeave(object sender, MouseEventArgs e)
{
this.close();
}
想要關閉子窗口,當鼠標離開窗口時,銀光燈。 每當鼠標離開銀光燈時,關閉子窗口
我能夠顯示子窗口,當鼠標懸停在父窗口超鏈接,但我不能關閉子窗口,當鼠標leave.Above是我寫的代碼片段。
private void myChildWindow_MouseLeave(object sender, MouseEventArgs e)
{
this.close();
}
想要關閉子窗口,當鼠標離開窗口時,銀光燈。 每當鼠標離開銀光燈時,關閉子窗口
我能夠顯示子窗口,當鼠標懸停在父窗口超鏈接,但我不能關閉子窗口,當鼠標leave.Above是我寫的代碼片段。
的ChildWindow控制具有疊加填補的整個可用面積拉伸的Silverlight應用程序。因此,在鼠標離開疊加層之前,子窗口上的鼠標離開事件不會觸發。您需要將鼠標離開事件放置在子窗口內容的根佈局容器上。這裏有一個例子:
private void ShowButton_Click(object sender, RoutedEventArgs e)
{
ChildWindow cw = new ChildWindow();
cw.Width = 300;
cw.Height = 300;
cw.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Stretch;
cw.VerticalContentAlignment = System.Windows.VerticalAlignment.Stretch;
Grid g = new Grid();
g.Background = new SolidColorBrush(Colors.Gray);
g.Children.Add(new TextBlock() { Text = "Child window content." });
g.MouseLeave += ChildWindowContent_MouseLeave;
cw.Content = g;
cw.Show();
}
private void ChildWindowContent_MouseLeave(object sender, MouseEventArgs e)
{
ChildWindow cw = ((Grid)sender).Parent as ChildWindow;
cw.Close();
}
在ChildWindow控制更多信息可以在這裏找到:http://msdn.microsoft.com/en-us/library/system.windows.controls.childwindow(v=vs.95).aspx
真的很適合我... !!!謝謝 –
你將不得不調用下面的事件處理程序在你的父窗口:
private void ParentWindow_MouseLeave(object sender, EventArgs e)
{
myChildWindow.Close();
}
希望這有助於..
家長給孩子,不是孩子parent.you是在父窗口中寫入子窗口名稱怎麼可能? –
如果您有:class ChildWindow:ParentWindow(意味着從父項繼承),那麼當然這是不可能的。我認爲你的ParentWindow包含'myChildWindow'作爲合成(通過合成)對象。你確定你需要從你的父窗口繼承嗎? (或者可能是組成對我來說似乎是一個更好的選擇,雖然!!)。 – Sadiq
父窗口嘗試執行休假(事件處理程序) – Sadiq