के साथ बटन दृश्यता समायोजित करना मैं माउस को अपने स्थान पर रखता हूं, जब माउस क्षेत्र छोड़ देता है, तो बटन को छिपाने के लिए वापस जाना चाहिए। बटन के लिए मेरा कोड यहाँ है।माउसओवर
<StackPanel Name="ButtonOptions" Orientation="Horizontal" DockPanel.Dock="Bottom" Background="DarkBlue" Height="50" Width="auto">
<!--<StackPanel.Resources>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>-->
<Button Name="LoginButton" FontSize="12" Click="LoginButton_Click" Content="Log In" Width="100" Height="31" Margin="50,0,0,0"
FontFamily="Arial" Visibility="Visible" IsEnabled="True" MouseEnter="LoginButton_MouseEnter" />
<Button Name="OptionsButton" Content="Options" Width="100" Height="31" Margin="20,0,0,0" FontFamily="Arial"
FontSize="12" Click="OptionsButton_Click" Visibility="Hidden" IsEnabled="False"/>
</StackPanel>
रिसोसेस अनुभाग पर टिप्पणी की गई है क्योंकि मैंने कोशिश की और यह काम नहीं कर रहा था। बटन में मेरी लॉग .. निम्नलिखित eventhandler दी जाती
LoginButton.MouseEnter += new MouseEventHandler(LoginButton_MouseEnter);
विधि है कि संभालती है यह है ..
private void LoginButton_MouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("Made in the login button listener for mouseOver");
LoginButton.Visibility = Visibility.Visible;
}
जब मैं अपने अनुप्रयोग चलाने, कुछ नहीं होता जब मैं स्थान ऊपर ठहराया जहां बटन होना चाहिए। हालांकि, अगर मैंने शुरुआत में दृश्यमान होने के लिए लॉग इन बटन की दृश्यता सेट की है, तो मैं बटन देख सकता हूं, और जब मैं उस पर क्लिक करता हूं, तो उपयोगकर्ता लॉग इन करने के लिए तर्क विधि में मेरा लॉग ओवरराइड होता है, और मुझे संदेश बॉक्स में संकेत दिया जाता है "माउसओवर के लिए लॉगिन बटन श्रोता में बनाया गया" के लिए MouseEventListener विधि। इतना ही नहीं, लेकिन मुझे इनमें से दो संदेश प्राप्त होते हैं (जैसे ही मैं पहली बार "ठीक" पर क्लिक करता हूं, यह तुरंत फिर से पॉप अप करता है) मुझे यकीन नहीं है कि यह क्यों काम नहीं करता है, और न ही मेरी क्लिक इवेंट विधि को अनदेखा क्यों किया जाता है और अब माउसइवेंट विधि होती है।
किसी भी विचार या मदद की सराहना की जाएगी, धन्यवाद!
घटनाक्रम आग नहीं है। – 0x4f3759df
माउस ओवर का निदान करने के लिए पॉप-अप का उपयोग न करें। आपको दो पॉप-अप मिल रहे हैं क्योंकि जब आप इसे बंद करने के लिए संवाद पर माउस करते हैं, तो अब आप उस तत्व पर ध्यान नहीं देते हैं जिसने इसे ट्रिगर किया है! जब संवाद बंद हो जाता है, तो यह फिर से घटना पर माउस को आग लगा देगा। –
@iterationx: मुझे लगता है कि यह सच है, लेकिन यदि आप IsHitTestVisible प्राप्त करते हैं तो आप इसे ओवरराइड करने में सक्षम हो सकते हैं। –