FlipView を使用して週を移動するカレンダー アプリケーションを作成しています。各フリップビュー内には「週」オブジェクトがあります。Week.xaml は、曜日を表す 1 行 7 列のグリッドで構成されています。各グリッド列には、ユーザーが選択できるイベントを入力する ListView が含まれています。グリッドと 1 列 (日曜日) を定義する例としてのコードを次に示します。これには、曜日の名前と、後で日付を入力する空白のテキスト ボックスも含まれています。見た目もわかります。
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- Sunday-->
<Grid Grid.Column="0" >
<Grid.RowDefinitions>
<RowDefinition Height="80"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Rectangle Grid.Row="0" Fill="#FF0353A8" Stroke="Black" StrokeThickness="5" RadiusX="10" RadiusY="10"/>
<TextBlock Grid.Row="0" Style="{StaticResource DayOfWeek}" Text="Sunday" Margin="10,6,0,38" />
<TextBlock Grid.Row="0" x:Name="SundayNumber" Style="{StaticResource DayOfWeek}" Text="" Margin="10,37,0,7" />
<ListView Name="SundayPanel" ItemTemplate="{StaticResource TaskTemplate}" IsItemClickEnabled="True" ItemClick="Item_Clicked"/>
</Grid>
これは、ListView にアイテムを入力するのに最適ですが、FlipView を使用して週をスワイプしようとすると大きな問題が発生します。週を変更するために ListView 領域を指で左または右にスワイプすると、次のような未処理の例外が発生します。これは、マウス コントロールを使用して FlipView を切り替えた場合には発生せず、スワイプ ジェスチャのみが使用されます。ListView の矢印コントロールを使用して、一日中問題なく前後にクリックできます。
例外**以下のヘルプを使用すると、例外に関する詳細情報を得ることができます: TaskM8.exe の 0x0f96a375 で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x00000000。
この問題は、ListView の代わりに ItemsControl と ItemsPanelTemplate を使用してアイテムを表示する場合には発生しませんが、個々のアイテムをクリック可能にしてそれらを操作する方法がわかりません (フルスクリーンに移動できるようにする必要があります)。クリック後のイベントの説明)。ItemClick のようなイベント ハンドラーは、ItemsControl では使用できないようです。
なぜこの例外が発生するのか、またはこれを ItemsControl で実装する方法を知っている人はいますか?
私が試したことについての簡単なメモ - ListView が何もない領域、または ItemControls で置き換えようとしましたが、リスト ビューが 1 つだけでも (たとえば、金曜日)、次の場合にのみエラーが発生します。 ListView がある場所からスワイプします。これは、ユーザーがページの基本的に 3/4 をスワイプできないため、1 週間のページ全体に 7 つのページがある場合には実現できません :(
お時間をいただきありがとうございます。