<p>I have the following XAML:    </p>

<pre><code>&lt;TextBlock Text="{Binding ElementName=EditListBox, Path=SelectedItems.Count}" Margin="0,0,5,0"/&gt;
&lt;TextBlock Text="items selected"&gt;
    &lt;TextBlock.Style&gt;
        &lt;Style TargetType="{x:Type TextBlock}"&gt;
            &lt;Style.Triggers&gt;
                &lt;DataTrigger Binding="{Binding ElementName=EditListBox, Path=SelectedItems.Count}" Value="1"&gt;
                    &lt;Setter Property="TextBlock.Text" Value="item selected"&gt;&lt;/Setter&gt;
                &lt;/DataTrigger&gt;
            &lt;/Style.Triggers&gt;
        &lt;/Style&gt;
    &lt;/TextBlock.Style&gt;
&lt;/TextBlock&gt;
</code></pre>

<p>The first text block happily changes with SelectedItems.Count, showing 0,1,2, etc.  The datatrigger on the second block never seems to fire to change the text.</p>

<p>Any thoughts?</p>

The DataTrigger is firing but the Text field for your second TextBlock is hard-coded as "items selected" so it won't be able to change. To see it firing, you can remove Text="items selected".
Your problem is a good candidate for using a
ValueConverter
instead of
DataTrigger
. Here's how to create and use the ValueConverter to get it to set the Text to what you want.
Create this ValueConverter:
```
```
public class CountToSelectedTextConverter : IValueConverter
{
    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if ((int)value == 1)
            return "item selected";
        else
            return "items selected";
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    #endregion
}
```
```
Add the namespace reference to your the assembly the converter is located:
```
```
xmlns:local="clr-namespace:ValueConverterExample"
```
```
Add the converter to your resources:
```
```
<Window.Resources>
    <local:CountToSelectedTextConverter x:Key="CountToSelectedTextConverter"/>
</Window.Resources>
```
```
Change your second textblock to:
```
```
<TextBlock Text="{Binding ElementName=EditListBox, Path=SelectedItems.Count, Converter={StaticResource CountToSelectedTextConverter}}"/>
```
```