2011-01-06 45 views
7

コントロールがフォーカスされている間、ツールチップを常に表示する方法はありますか?私はたくさんのことを試みましたが、何もうまくいかないようです。今すぐ私は次のようなものを持っています:コントロールがフォーカスされている間、ツールチップを常に表示する方法はありますか?

<TextBox x:Name="textBox" Width="200"> 
     <TextBox.ToolTip> 
      <ToolTip StaysOpen="{Binding IsKeyboardFocused, ElementName=textBox}" IsOpen="{Binding IsKeyboardFocused, ElementName=textBox}"> 
       Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </ToolTip> 
     </TextBox.ToolTip> 
    </TextBox> 

非常に簡単に動作するはずですが、そうではありません。何故なの?私はツールチップのIsOpenプロパティをテキストボックスのIsKeyboardFocusedプロパティにバインドします。したがって、ツールチップにフォーカスがある間に表示されるはずです。それはなぜですか?

+0

あなたはこのSO-Questionを見たことがありますか:http://stackoverflow.com/questions/896574/forcing-a-wpf-tooltip-to-stay-on-the-screen? –

答えて

12

代わりに、このようなToolTipPopup使用することができます。

<Grid> 
    <StackPanel> 
     <TextBox x:Name="textBox1" Width="200" Height="20"/> 
     <TextBox x:Name="textBox2" Width="200" Height="20"/> 
    </StackPanel> 
    <Popup PlacementTarget="{Binding ElementName=textBox1}" IsOpen="{Binding IsKeyboardFocused, ElementName=textBox1, Mode=OneWay}"> 
     <TextBlock Background="White"> 
      <TextBlock.Text>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</TextBlock.Text> 
     </TextBlock> 
    </Popup> 
</Grid> 

をして、ツールチップのように見えるし、それをスタイル。

+1

それは動作します。ありがとうございました。 – Rich

+0

ツールチップのようにスタイルを設定するにはどうすればいいですか? – marczellm

関連する問題