Всегда показывать подсказку WPF textBox - PullRequest
0 голосов
/ 22 марта 2011

Можно ли принудительно отображать всплывающую подсказку, независимо от того, сфокусирован элемент управления или нет, а зависит только от значения свойства привязки. Я еще не нашел решения ...

<TextBox Name="projectTextBox" ToolTipService.Placement="Bottom" ToolTipService.ShowDuration="12000" MinWidth="150" Text="{Binding ProjectName}" IsEnabled="{Binding IsEnabled}">
                <TextBox.ToolTip>
                    <ToolTip Placement="Bottom" StaysOpen="True" Content="TEXT" Visibility="{Binding IsNotFound, Converter={StaticResource booleanToVisibilityCollapsedConverter}}" IsOpen="True" >
                    </ToolTip>
                </TextBox.ToolTip>
            </TextBox>

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

Вы должны использовать рекламодателя для поведения, которое вы ищете.Вы можете использовать Datatrigger или то, что вы хотите показать рекламодателю так долго, как вы хотите.Между прочим, у вас не было проблем с всплывающими окнами во время перемещения главного окна.

0 голосов
/ 22 марта 2011

По сути, вы не можете принудительно отображать всплывающую подсказку, потому что именно Windows решает, когда всплывающая подсказка прячется (обычно на MouseLeave или через некоторое время), чтобы сохранить внешний вид и согласованность приложений (подсказка). управление выполнено таким образом).

Если вы хотите отобразить некоторую полезную информацию для пользователя способом, отличным от стандартного способа всплывающей подсказки Windows, вам следует рассмотреть возможность использования чего-то другого, кроме всплывающей подсказки, например всплывающего окна или чего-то подобного с элементом управления FormNotification из эта статья .

0 голосов
/ 22 марта 2011

Почему бы не установить подсказку на основе триггера?

<TextBox Name="projectTextBox" ToolTipService.Placement="Bottom" ToolTipService.ShowDuration="12000" MinWidth="150" Text="{Binding ProjectName}" IsEnabled="{Binding IsEnabled}">
    <TextBox.Style>
        <Style TargetType="{x:Type TextBox}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsNotFound}" Value="False">
                    <Setter Property="ToolTip">
                        <Setter.Value>
                            <ToolTip Placement="Bottom" StaysOpen="True" Content="TEXT"  IsOpen="True" />
                        </Setter.Value>
                    </Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>
...