2013-11-27 50 views

回答

0

可以簡單的寫

YourImageName.Visibility = Visibility.Hidden;

編寫代碼的任何控制,即TextBoxButton的。

+0

我想知道我可以控制鼠標點擊圖像之外。 –

+0

這就是我告訴你的。您只需拖動一個按鈕並使其事件處理程序在按鈕單擊時寫入此代碼。 –

+0

我想要隱藏圖像,當用戶點擊任何位置的表單不僅在按鈕或文本框 –

1

只需將代碼MyImage.Visibility = System.Windows.Visibility.Hidden;放在您想要捕獲的任何事件中。

爲如:

private void MyButton_Click_1(object sender, RoutedEventArgs e) 
{ 
    MyImage.Visibility = System.Windows.Visibility.Hidden; 
} 


private void MyTextbox_PreviewMouseDown_1(object sender, MouseButtonEventArgs e) 
    { 
     MyImage.Visibility = System.Windows.Visibility.Hidden; 
    } 

private void MyWindow_MouseDown(object sender, MouseButtonEventArgs e) 
    { 
     MyImage.Visibility = System.Windows.Visibility.Hidden; 
    } 

其中MyImage是圖像的名稱,MyTextbox是文本框的名稱,MyButton是按鈕的名稱,MyWindow是主窗口的名稱

3

你可以簡單地向頂層控件添加一個處理程序,例如。 GridWindow等。在該處理程序,您可以檢查是否被點擊是Image這一點,如果不是,那麼你可以將其隱藏控制:

的XAML:

<Grid PreviewMouseLeftButtonDown="Grid_PreviewMouseLeftButtonDown"> 
    ... 
    <Image Name="TheImage" Source="/WpfApplication2;component/Images/Add_16.png" /> 
    ... 
</Grid> 

後面的代碼:

private void Grid_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    if (e.OriginalSource != TheImage) 
    { 
     TheImage.Visibility = Visibility.Hidden; 
    } 
} 

雖然這符合你的要求,但應注意,一旦隱藏的Image將不再是「點擊」。

0

首先點擊表格將其選中。然後轉到事件的部分(靠近屬性部分),然後雙擊單擊事件以在單擊表單時進行函數調用。在代碼中比較發件人對象與IsEqual(obj)方法,並看到發件人是相同的圖像或不是。如果不隱藏它。 :)

0

您可以處理應用程序當前窗口的點擊事件,並且在該事件中您可以檢查鼠標位置是在該圖像內還是在該圖像之外,在此基礎上您可以設置圖像可見性條件更喜歡。

代碼示例例如:

//registering event 
Application.Curent.mainWindow.MouseRightButtonDown += MainWindow_MouseRightButtonDown; 

//event implementation 
void MouseRightButtonDown(object sender , MouseButtonEventArgs e) 
{ 
//here you can check the ui element for image control using sender 

//below will let you know the position of Click 
e.GetPosition(// pass the ui element here) 
} 

注:顯示的上述代碼是在應用程序級點擊處理。如果您 不想在應用層面可以採取父XAML在其中 形象出現,做同樣的