longlistselector に入力するために使用される DataTemplate があります。この DataTemplate には 2 つの行があります。行1にはボタンが含まれており、押すと行2がスライドして開きます。問題は、アプリを実行するとUnhandledExceptionが発生することです。
データテンプレートは次のとおりです。
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- 1st ROW -->
<Border Background="Red" HorizontalAlignment="Stretch">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Test Item" FontSize="42" />
<Button Content="v" Grid.Column="1">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Tap">
<BeginStoryboard>
<Storyboard x:Name="myBoard" TargetProperty="Border.Height" TargetName="Slider">
<DoubleAnimation From="0" To="60" Duration="0:0:2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</Grid>
</Border>
<!-- 2nd ROW -->
<Border x:Name="Slider" Grid.Row="1" Background="Green" HorizontalAlignment="Stretch" Height="0">
<TextBlock Text="Slider" FontSize="42" />
</Border>
</Grid>
</DataTemplate>
/編集:
グリッドの Loaded イベントでトリガーを使用すると、機能します。Silverlight は RoutedEvent プロパティの Loaded イベントのみをサポートしているようです。ここで説明されているように:
http://msdn.microsoft.com/en-us/library/system.windows.eventtrigger.routedevent(v=vs.95).aspx
ボタンの Loaded イベントを使用しても機能しませんが。