Учитывая объект, такие как:Как присвоить подсказку ListViewItem ToolTip над подсказкой TextBlock?
public class Item
{
public string Foo { get; set; }
public string Bar { get; set; }
public int Hidden { get; set; }
}
Просто отображаются как:
<Grid>
<Grid.Resources>
<!-- style stuff -->
</Grid.Resources>
<ListView
x:Name="ItemsListView"
ItemsSource="{Binding AllItems}"
SelectedValue="{Binding SelectedItem}">
<ListView.View>
<GridView>
<GridViewColumn
Width="75"
DisplayMemberBinding="{Binding Foo, Mode=OneWay}"
Header="Foo"/>
<GridViewColumn
Width="75"
DisplayMemberBinding="{Binding Bar, Mode=OneWay}"
Header="Bar"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
В Grid.Resources
я создал следующий стиль, чтобы позволить ToolTip
для отображения каждого значения клеток на парении:
<Style TargetType="{x:Type TextBlock}">
<Setter
Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
<Setter
Property="TextTrimming"
Value="CharacterEllipsis"/>
</Style>
Это работает по желанию. Но теперь я хочу проверить строку на основе свойства Hidden
. Если значение -1
, очертить строку в красном и отображать TooTip
сообщений:
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger
Binding="{Binding Hidden}"
Value="-1">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="ToolTip" Value="Bad Item... Bad!"/>
</DataTrigger>
</Style.Triggers>
</Style>
Это также работает, до тех пор, как я носился над границами ячеек недействительного элемента. В тот момент, когда я нависаю над ячейкой Foo
или Bar
недействительного элемента, отображается предыдущее ToolTip
, отображающее значение ячейки.
Как я могу получить ListViewItem.ToolTip
переопределить TextBlock.ToolTip
, когда строка является недействительным?
Это почти отлично работает, за исключением того, что оно работает только для 'Hidden == 0', но должно работать для' Hidden> -1'. – OhBeWise
Вы не можете поместить триггер данных для предложения больше чем. Таким образом, вы можете попробовать использовать Конвертер, который преобразует значение свойства Hidden в булевский флаг, чтобы применить установщик в триггере данных. – user1672994
Да, просто найдено то же предложение [здесь] (http://stackoverflow.com/a/793966/3773066). Спасибо за вашу помощь. – OhBeWise