2010-03-18 4 views
1

В моем приложении я попытался реализовать видимость всплывающей подсказки на основе длины текста dataGrid Column с помощью конвертера. Я сталкиваюсь с некоторыми проблемами при отображении текста toolTip.WPF - видимость подсказки столбца DataGrid на основе длины данных столбца

В всплывающей подсказке текстовое связывание TextBlock не работает. Если он привязан к некоторым жестко закодированным строкам, он работает нормально.

Здесь ниже код, который я добавил для столбца сетки ...

<Custom:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <TextBlock Text="{Binding Text}"> 
           <TextBlock.ToolTip> 
            <ToolTip 
             DataContext="{Binding Path=PlacementTarget, RelativeSource={x:Static RelativeSource.Self}}" 
             Visibility="{Binding Converter={StaticResource ToolTipVis}}"> 
             <TextBlock Text="{Binding Text}"> 

            </ToolTip> 
           </TextBlock.ToolTip> 
          </TextBlock> 
         </DataTemplate> 
        </Custom:DataGridTemplateColumn.CellTemplate> 
+0

Удалось ли вам получить эту работу? – TabbyCool

ответ

5

DataContext вашей подсказке установлен в System.Windows.Controls.TextBlock, так как вы определили его как RelativeSource .Self.

Если вы потеряли ToolTip DataContext, вы сможете привязать его к свойству Text.

Вы, возможно, потребуется изменить ваш преобразователь привязки, чтобы отразить это, хотя, но я не уверен, как я не проверял это ...

<ToolTip 
    Visibility="{Binding Path=PlacementTarget, 
     RelativeSource={x:Static RelativeSource.Self}, 
     Converter={StaticResource ToolTipVis}}">> 
    <TextBlock Text="{Binding Path=Text}"/> 
</ToolTip> 
+0

Благодарим вас за ответ. Он отлично работает ... –

+0

Прохладный, рад помочь. Можете ли вы принять ответ за меня, пожалуйста? Благодаря :-) – TabbyCool

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