2009-08-06 10 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

행운을 빕니다 : 여기에 그의 샘플입니다.