Это, вероятно, уродливый способ сделать это без кода, но вы можете создать шаблон для вашего списка, который включает в себя два текстовых блока (что-то), например:
<Style x:Key="ListBoxItemStyle1" TargetType="ListBoxItem">
<Setter Properties... />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<TextBlock Text="Verified" Visibility={Binding Verified, Converter="{StaticResource BoolToVisibilityConverter}" />
<TextBlock Text="Not Verified" Visibility={Binding Verified, Converter="{StaticResource ReverseBoolToVisibilityConverter}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ВыЗатем потребуется написать два конвертера: BoolToVisibilityConverter, чтобы изменить логическое значение Verified на Visible, если True, и Collapsed, если False для первого текстового блока, и ReverseBoolToVisibilityConverter, чтобы изменить логическое значение Verified на Visible, если False, и Collapsed, если True, на втором тексте.блок.Таким образом, один текстовый блок всегда будет виден в элементе списка, а другой всегда будет свернут, в зависимости от значения свойства Verified.
Если вы не знаете, как выполнять преобразование значений, вы можете посмотреть HERE .
Это не проверено и это не весь код, который вам нужен, но он должен работать.Это предполагает, что два разных текстовых блока всегда будут содержать один и тот же текст и что свойство Verified является логическим свойством, если нет, то вы можете найти другой способ сделать это.
Если подумать, вы можете просто сделать ОДИН конвертер значений и один текстовый блок и преобразовать значение Verified в текст, который вы хотите.Это было бы проще.
<TextBlock Text="{Binding Verified, Converter="{StaticResource VerifiedToTextConverter}" />