2009-08-06 17 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の上にマウスを置くと、ツールチップが表示されるはずです... –

+0

BLをクリックハンドラに入れたいと思います。たとえば、テキストボックスが空の場合はフォーカスを合わせ、ツールチップに「Please fill it」と表示されます。 。 –

答えて

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> 

また、検証に失敗したコントロールの隣に検証失敗インジケータを入れてadorner層を利用して、より標準的なUIを考えるかもしれません。

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

幸運:ここではその上のサンプルです。

関連する問題