2014-12-30 6 views
0

Существует стандартный DataGrid, где каждая его строка является объектом счета-фактуры.Как настроить всплывающую подсказку на основе привязанного объекта DataGrid

Существует некоторый логический атрибут объекта счета-фактуры, такой как AAA, поэтому он влияет на отчет пользователь собирается распечатать.

Я хотел бы изменить ToolTip кнопки PRINT на основе этого логического значения.

Я предполагаю, что это можно сделать через XAML и код позади.

Метод 1.

<Button Content="Print" ToolTip="Not shown" ToolTipOpening="Button_ToolTipOpening"/> 

Способ 2. И здесь мне нужна помощь ...

<DataGridTemplateColumn > 
    <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <Button Width="19" Height="15" Tag="{Binding Inv.Id}" 
        Background="{DynamicResource ButtonLB}" Click="btnPrintInvoice_Click" Margin="5,0,0,0" BorderBrush="#FF0565B8" Foreground="{DynamicResource CaptionBrush}" Name="btnPrintInvoice" > 
    <Button.Style> 
      <Style TargetType="{x:Type Button}">                
    <Setter Property="UIElement.IsEnabled" Value="True" /> 
<Style.Triggers> 
      <DataTrigger Binding="{Binding Path=IsAAA, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}" Value="True"> 
      <Setter Property="StackPanel.ToolTip" 
        Value="{x:Static p:Resources.PrintInvoice}" 
          TargetName="self" /> 
      </DataTrigger> 
     </Style.Triggers> 
     </Style> 
    </Button.Style> 
    </Button> 
</DataTemplate> 
</DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

Так что если ISAAA = истина подсказка должна быть "A1" и наоборот - «A2».

ответ

2

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

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if((bool)value == true) 
     { 
      return "A1"; 
     } 
     else 
     { 
      return "A2"; 
     } 
    } 

Затем привяжите содержимое ToolTip к свойству IsAAA и укажите конвертер в привязке.

+0

Хорошо. И как мне интегрировать этот конвертер в свойство ToolTip? –

+1

*

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