Datatrigger с DynamicResource работает только с последним элементом в ItemsControl

Мой DashBoardSimpleCountObject имеет 2 значения: MyName а также MyValue, Я использую ObservableCollection<DashboardSimpleCountObject> называется MyData,

Я хочу показать картинку, пока MyValue является null, Тем не менее, картина (loading") отображается только в последнем пункте моего ObservableCollection (неважно, сколько там вещей). Как только MyValue установлен (с чем-либо, кроме null), он автоматически обновляется и отображается правильно - это прекрасно работает для всех элементов.

<ItemsControl x:Name="_control" ItemsSource="{Binding MyData}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid Margin="25">
                <Label FontSize="14" Content="{Binding MyName}" />
                <Label Margin="0,25" HorizontalContentAlignment="Right" FontSize="29" FontWeight="ExtraBold" Foreground="{Binding MyColor}">
                    <Label.Style>
                        <Style TargetType="{x:Type Label}">
                            <Setter Property="Content" Value="{Binding MyValue}" />
                                <Style.Triggers>
                                <DataTrigger Binding="{Binding MyValue}" Value="{x:Null}">
                                    <Setter Property="Content">
                                        <Setter.Value>
                                            <Image Width="32" Height="32" Source="{DynamicResource loading}" />
                                        </Setter.Value>
                                    </Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </Label.Style>
                </Label>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

Что я делаю неправильно? Заранее большое спасибо!:)

1 ответ

Решение

Похоже, природа DynamicResource вызывает эту проблему. Просто меняется DynamicResource в StaticResource сделал трюк.

Итак DataTrigger работал отлично с самого начала. Изображение просто появилось только один раз из-за загрузки в виде DynamicResource,

Другие вопросы по тегам