2009-08-06 111 views
3
<TextBox Name="txtInput"> 
<TextBox.ToolTip> 
    <ToolTip Name="TestToolTip"> 
     This a test message 
    </ToolTip> 
</TextBox.ToolTip> 

WPF - 顯示文本框工具提示

private void btnClick_Click_1(object sender, RoutedEventArgs e) 
{ 
    txtInput.Focus(); 
    ToolTipTest.IsVisible = true; 
} 

當按鈕被點擊的工具提示顯示按鈕,我想模擬將鼠標移到文本框,要顯示的工具箱文本框

+1

你爲什麼要模擬任何東西?使用您發佈的代碼,當您將鼠標放在TextBox上時,應該出現工具提示... – 2009-08-06 10:10:54

+0

例如,我想將BL放入Click處理程序中 - 例如,如果文本框爲空,請將其聚焦並顯示工具提示「請填寫它」 。 – 2009-08-06 10:40:37

回答

5

首先,您應該使用標準驗證來處理您正在做的事情。從上面的評論我可以告訴你這是你在做什麼,你應該知道,WPF有一個非常好的內置系統,可以完成你想做的事情,而不必如此強制執行(並且非常可重用)。

下面是一個樣式示例,您可以將其應用於所有文本框(如果綁定的值未驗證時使用IDataErrorInfo)的樣式。

<Style.Triggers> 
    <Trigger Property="Validation.HasError" Value="true"> 
     <Setter Property="ToolTip"> 
      <Setter.Value> 
       <ToolTip Content="{Binding RelativeSource={RelativeSource Self}, 
        Path=(Validation.Errors)[0].ErrorContent}" IsOpen="true" /> 
      </Setter.Value> 
     </Setter> 
    </Trigger> 
</Style.Triggers> 

你也可以考慮利用裝飾器層放在一個驗證失敗指示燈旁邊驗證失敗的控制更標準的UI。這裏有一個例子:

http://blogsprajeesh.blogspot.com/2009/03/handling-error-in-wpf-idataerrorinfo.html

好運。