以下のコードのように、リストボックス項目があります。listboxitem を水平方向に右にドラッグして非表示にしたい。しかし、ドラッグすると、このエラーがポップアップし、
transform.X += e.HorizontalChange; [NullReferenceException]
Watch を確認すると、e.HorizontalChange の値が 65.0 であることがわかりました。なぜエラーが表示されるのですか? 目標を達成するにはどうすればよいですか?
<DataTemplate x:Key="TasksListDataTemplate">
<StackPanel x:Name="stackPanel" Margin="0,0,0,10" RenderTransformOrigin="0.5,0.5">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener
DragDelta="taskitem_DragDelta"
</toolkit:GestureService.GestureListener>
<TextBlock x:Name="textBlock" TextWrapping="Wrap" Text="{Binding Title}" FontSize="{StaticResource PhoneFontSizeLarge}" HorizontalAlignment="Left" Width="432" RenderTransformOrigin="0.5,0.5">
</TextBlock>
<StackPanel x:Name="stackPanel1" Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock x:Name="textBlock1" TextWrapping="Wrap" Text="due:" d:LayoutOverrides="Width" FontSize="{StaticResource PhoneFontSizeMedium}" RenderTransformOrigin="0.5,0.5">
</TextBlock>
<TextBlock x:Name="textBlock2" TextWrapping="Wrap" Text="{Binding DueDate}" d:LayoutOverrides="Width" FontSize="{StaticResource PhoneFontSizeMedium}" RenderTransformOrigin="0.5,0.5">
</TextBlock>
</StackPanel>
</StackPanel>
</DataTemplate>
コードビハインドファイルは
private void taskitem_DragDelta(object sender, DragDeltaGestureEventArgs e)
{
TranslateTransform transform = (sender as StackPanel).RenderTransform as TranslateTransform;
transform.X += e.HorizontalChange;
}