Что вы используете в качестве источника данных / источника данных?Если это ObservableCollection
, как я и ожидал, то лучше всего было бы привязать его свойство «Count», а затем использовать триггер, чтобы свернуть текстовый блок при необходимости.
Причина, по которой привязка неВ настоящее время не происходит обновления, что само по себе DataContext
фактически не меняется.Свойства DataContext
ОБМЕНЯЮТСЯ, поэтому, если вы связываетесь с правильным свойством (числом), ваши привязки будут обновляться.
Этот фрагмент кода должен работать:
<ControlTemplate TargetType="ItemsControl">
<Grid>
<TextBlock x:Name="txtBlock" Text="No Items to Display" Visibility="Collapsed" />
<ItemsPresenter />
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Count}" Value="0">
<Setter TargetName="txtBlock" Property="Visibility" Value="Visible"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Используя данныетриггер, вы можете избежать необходимости конвертера для преобразования числового значения в видимость и сохранения всего в вашем .xaml.