My DashBoardSimpleCountObject
の値はMyName
とMyValue
です。 私は、MyData
と呼ばれるObservableCollection<DashboardSimpleCountObject>
を使用します。DynamicResourceを使用したDatatriggerはItemsControlの最後の項目でのみ動作します
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>
私は間違っていますか? ありがとうございます! :)
「DynamicResource」と関係があります。 'Content'を' DataTrigger'のイメージに設定するのではなく、デフォルトのテキストに設定すると、それはうまくいくように機能します。それは写真が1つのアイテムだけにロードされるようです。 – Grent
私はGoogleにかなりの時間を費やして解決策を見つけましたが、「DynamicResource」に問題があるとは思わなかったので、明らかにわかっていませんでした。だから、「悪い」質問を申し訳なく思っています。次回はもっとうまくやろうとしています。 (でも、ここに質問を投稿するのはいつも私の最後の**わらです。) – Grent