2014-12-05 43 views
0

我的WPF应用程序中有一个StatusBar,通过xaml定义。MouseLeftButtonUp事件只能在最大化窗口中工作

<StatusBar Width="Auto" x:Name="StatusStrip" Margin="1,1,0,0" Background="{x:Null}" Foreground="#FF939393"> 
    <StatusBarItem Content="{Binding SelectedImpName, UpdateSourceTrigger=PropertyChanged}" x:Name="Impianto" ToolTip="{DynamicResource FiltroImpianti}" /> 
    <Separator /> 
    <StatusBarItem Content="Utente" x:Name="ToolStripStatusLabel" ToolTip="{DynamicResource UtenteAttivo}" /> 
    <Separator /> 
    <StatusBarItem Content="IT" x:Name="Lingua" ToolTip="{DynamicResource Lingua}" /> 
    <Separator /> 
    <StatusBarItem Content="" x:Name="txtMessaggi" Foreground="#FFEC4F4F" /> 
</StatusBar> 

我已经分配的方法上的一个事件,是这样的:

this.ToolStripStatusLabel.MouseLeftButtonUp += ToolStripStatusLabel_MouseLeftButtonUp; 

,这是方法:

private void ToolStripStatusLabel_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) 
{ 
    try 
    { 
     bool x = false; 
     x = attivazione.mdlFunzioni.OpenMsgBox(FindResource("M0001") + " " + attivazione.mdlImpostazioni.p.UserName + "?", this, MsgBoxStyle.YesNo); 
     if (x) 
      logOut(); 
    } 
    catch (Exception myException) 
    { 
     attivazione.mdlError.gest_errori(FindResource("E0001").ToString(), "", myException); 
    } 
} 

,当窗口最大化它的工作问题,但在正常情况下不起作用。用“不起作用”,我的意思是说,它不像点击鼠标。而且,如果我再次使窗口最大化,它再次运作。

什么是错误?我可以发布更多代码来清楚说明吗?也许正在关联相关事件?

更新:如果我使用doubleClick事件...它在两种情况下都可以使用!!

+0

其可能是因为它不知道在您点击的位置和控件的实际位置之间进行计算 – alexo 2014-12-05 08:56:30

回答

0

解决更改事件...我现在使用doubleClick。而且,奇怪的是,它有效。