2011-01-06 5 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

Вы можете использовать Popup вместо ToolTip так:

<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

Смежные вопросы