XAML のみを使用してスクロール ニュース フィードを作成しようとしていますが、フィードが途切れるという問題が発生しています。現在、私は XmlDataProvider で偽のニュース ヘッドラインを使用しているだけですが、RSS フィードから取得される予定です。
<Window.Resources>
<XmlDataProvider x:Key="NewsFeed" XPath="/rss/Channel/Item">
<x:XData>
<rss xmlns="">
<Channel>
<Item>
<Headline>Cash-Strapped Oklahoma To Conduct Executions By Hammering Squad</Headline>
</Item>
<Item>
<Headline>PetSmart Manager Does Morning Sweep Of Enclosures For Dead Ones Before Opening Doors For Day</Headline>
</Item>
<Item>
<Headline>Lovestruck Arabian Princess Begs Father To Spare John Kerry’s Life</Headline>
</Item>
<Item>
<Headline>Frantic Joe Biden Searching Dog Shelter For Bo Look-Alike</Headline>
</Item>
<Item>
<Headline>Pope Tweets Picture Of Self With God</Headline>
</Item>
<Item>
<Headline>Wes Welker Fielding Offers From Numerous Concussion Researchers</Headline>
</Item>
</Channel>
</rss>
</x:XData>
</XmlDataProvider>
</Window.Resources>
これは、アニメーション化されたテキストを含む Item コントロールを含むグリッドです。
<Grid Background="Gray">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="45" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
</Grid.RowDefinitions>
<Label Content="RSS" FontSize="16" Margin="10,0,0,0" FontStyle="Italic" Foreground="White" />
<ItemsControl Grid.Row="0" Grid.Column="1" Margin="10,0,10,0" Height="35" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Padding="0" DataContext="{Binding Source={StaticResource NewsFeed}, XPath=/rss/Channel/Item}" ItemsSource="{Binding XPath=//Headline}">
<!-- -->
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" Width="Auto" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Center" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Template>
<ControlTemplate TargetType="ItemsControl">
<Border BorderBrush="CadetBlue" BorderThickness="2" Height="Auto" Padding="0" HorizontalAlignment="Stretch" VerticalAlignment="Center" ClipToBounds="True">
<StackPanel ClipToBounds="True">
<StackPanel.RenderTransform>
<TranslateTransform x:Name="translate" />
</StackPanel.RenderTransform>
<StackPanel.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation From="1000" To="-1000" Storyboard.TargetName="translate" Storyboard.TargetProperty="X" Duration="0:0:25" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</StackPanel.Triggers>
<ItemsPresenter />
</StackPanel>
</Border>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Background="CadetBlue" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="Auto" ClipToBounds="True" Margin="3">
<TextBlock VerticalAlignment="Center" Foreground="Black" Text="//" Margin="0,0,8,0" ClipToBounds="True" />
<TextBlock VerticalAlignment="Center" Foreground="LightYellow" Text="{Binding Path=InnerText}" Margin="0,0,8,0" ClipToBounds="True" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Control.Margin" Value="5" />
<Setter Property="Control.VerticalAlignment" Value="Stretch" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</Grid>
アニメーションは機能していますが、3 番目の見出しが途切れています。現在、6 つの見出しのうち約 3 つが表示されています。すべての見出しが表示されないのはなぜですか?