1

Silverlight アプリケーションを開発しています。要件に応じて UI を表示するために、Silverlight で itemscontrols を使用しています。

<ItemsControl x:Name="CertificationsAndLicensesItemsControl">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"></RowDefinition>                               
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"></ColumnDefinition>
                        </Grid.ColumnDefinitions>

                        <Grid Grid.Row="0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"></RowDefinition>
                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <Grid Grid.Row="0" Grid.Column="0" Width="500">
                                <TextBlock TextWrapping="Wrap" Foreground="Green" Text="{Binding Path=CertificationsAndLicensesTitle}" FontWeight="Bold" Margin="5"></TextBlock>
                            </Grid>
                            <Grid Grid.Row="0" Grid.Column="1">
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock FontWeight="Bold" Text="Valid from:" HorizontalAlignment="Left" Margin="5"></TextBlock>
                                    <TextBlock Text="{Binding Path=ValidFrom}" Margin="5" ></TextBlock>
                                    <TextBlock Text="Until" Margin="5"></TextBlock>
                                    <TextBlock Text="{Binding Until}" Margin="5"></TextBlock>
                                </StackPanel>
                            </Grid>
                            <Grid Grid.Row="1" Grid.ColumnSpan="2">
                                <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="5">
                                    <Button x:Name="EditButton" Tag="{Binding Path=ID}" Content="Edit" Click="EditButton_Click"></Button>
                                    <Button x:Name="DeleteButton" Tag="{Binding Path=ID}" Content="Delete" Click="DeleteButton_Click"></Button>
                                </StackPanel>
                            </Grid>
                        </Grid>

                    </Grid>

                </DataTemplate>

            </ItemsControl.ItemTemplate>
        </ItemsControl>

コードビハインドは次のとおりです

private void EditButton_Click(object sender, RoutedEventArgs e)
        {
            //int a = 10;
            //CertificationsAndLicensesChildWindow obj = new CertificationsAndLicensesChildWindow();
            //obj.Show();
            ChildWindow1 obj1 = new ChildWindow1();
            obj1.Show();
        }

        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            CertificationsAndLicensesChildWindow obj = new CertificationsAndLicensesChildWindow();
            obj.Show();
        }

ボタンをクリックしても子ウィンドウが表示されません。ボタンをクリックすると、UI 全体が消えます。次の文を削除すると

ChildWindow1 obj1 = new ChildWindow1();
                obj1.Show();

次に、少なくともブレークポイントがヒットします。上記の文をそのままにしておくと、ブレークポイントにヒットしません。ボタンクリック時に子ウィンドウを表示するにはどうすればよいですか? 上記の問題を解決できるコードまたはリンクを教えてください

4

1 に答える 1

0

ほとんどの場合、UI が消えるということは、未処理の例外を意味します。おそらく、ChildWindow1 の作成/表示中に何らかのエラーが発生しています。ハンドルされていない例外のハンドラーがアタッチされていない場合は、App クラスにアタッチして (App コンストラクターで実行)、ハンドルされていない例外ハンドラーにブレークポイントを設定できます。これは、UI の消失の原因となっている例外を追跡するのに役立ちます。

デフォルトでは、Silverlight プロジェクトの作成時にハンドラーが配置され、例外が DOM に報告されます - JavaScript コンソールで例外を確認できるはずです。

于 2012-08-03T13:27:05.613 に答える