質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

1回答

5168閲覧

C# WPFサンプルコードの例外発生で困っています

suns

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

1クリップ

投稿2019/08/05 02:50

編集2019/08/06 01:19

前提・実現したいこと

Tobii SDK 入門の手順に従ってC# WPFアプリケーションを作成しようとしています。
ソリューションのビルドには成功するのですが、プロジェクトの実行を行うと以下のエラーメッセージが発生します。
例外発生個所は「MainWindow.xaml.cs」のInitializeComponent();です。
サンプルが実行できると白いウィンドウが表示されるかと思います。
「MainWindow.xaml」のコメント部分を切り取ると例外が発生せず実行できるので
この部分か関係しているのではないかと考えています。

いろいろ調べておりますが、解決策が見つからず困っております。
もしおわかりの方がおられましたら、ご教授いただけると幸いです。
何卒、よろしくお願い申し上げます。

発生している問題・エラーメッセージ

型 'System.NullReferenceException' の例外が PresentationFramework.dll で発生しましたが、ユーザー コード内ではハンドルされませんでした 追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。 この例外のハンドラーがある場合は、プログラムを安全に続行できます。

該当のソースコード

App.xaml.cs

C#

1using System; 2using System.Collections.Generic; 3using System.Configuration; 4using System.Data; 5using System.Linq; 6using System.Threading.Tasks; 7using System.Windows; 8using Tobii.Interaction; 9using Tobii.Interaction.Wpf; 10 11public partial class App : Application 12{ 13 private Host _host; 14 private WpfInteractorAgent _wpfInteractorAgent; 15 16 protected override void OnStartup(StartupEventArgs e) 17 { 18 _host = new Host(); 19 _wpfInteractorAgent = _host.InitializeWpfAgent(); 20 } 21 22 protected override void OnExit(ExitEventArgs e) 23 { 24 _host.Dispose(); 25 base.OnExit(e); 26 } 27}

該当のソースコード

MainWindow.xaml

XAML

1<Window x:Class="Wpf_Tobii_APP.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:Wpf_Tobii_APP" 7 xmlns:tobii="clr-namespace:Tobii.Interaction.Wpf;assembly=Tobii.Interaction.Net" 8 mc:Ignorable="d" 9 Title="MainWindow" Height="350" Width="525"> 10//////////////////////////////////////////////////////////////////////////////// 11 <Grid x:Name="LayoutRoot" 12 tobii:Behaviors.IsGazeAware="True"> 13 <Grid.Style> 14 <Style TargetType="Grid"> 15 <Setter Property="Background" Value="White" /> 16 17 <Style.Triggers> 18 <Trigger Property="tobii:Behaviors.HasGaze" Value="True"> 19 <Setter Property="Background" Value="Magenta" /> 20 </Trigger> 21 </Style.Triggers> 22 </Style> 23 </Grid.Style> 24 </Grid> 25//////////////////////////////////////////////////////////////////////////////// 26</Window>

MainWindow.xaml.cs

C#

1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6using System.Windows; 7using System.Windows.Controls; 8using System.Windows.Data; 9using System.Windows.Documents; 10using System.Windows.Input; 11using System.Windows.Media; 12using System.Windows.Media.Imaging; 13using System.Windows.Navigation; 14using System.Windows.Shapes; 15 16namespace Wpf_Tobii_APP 17{ 18 /// <summary> 19 /// MainWindow.xaml の相互作用ロジック 20 /// </summary> 21 public partial class MainWindow : Window 22 { 23 public MainWindow() 24 { 25 InitializeComponent();//例外発生個所 26 } 27 } 28} 29

呼び出し履歴(スタックトレース)

  • Wpf_Tobii_APP.exe!Wpf_Tobii_APP.MainWindow.MainWindow() 行 25 C#

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hihijiji

2019/08/05 04:34

スタックトレースを載せてください。
guest

回答1

0

例外が発生しました、と表示されていますね。
例外、というのはプログラムをプログラマーが書いたコード通りに実行していたが、実行時に例外的な状態に陥ってしまったときに発生するものです。(例:a/bを行おうとしたがbが0だった)

NullReferenceExceptionは参照しようとしたオブジェクトがNull、存在していなかったときに発生する例外です。(例:現在自分と手をつないでいる人の年齢を聞こうとしたが、そもそも誰とも手を繋いでいなかった場合など)
この例外は、恐らく世界で最も多く発生した例外と言われています。

VisualStudioなどに代表されるIDEではこういった例外の発生原因を究明するためのデバッグ機能が搭載されており、例外発生時にどの変数にどんな値が入っていたか、等の有用な情報を得ることができます。

ビルドしたアプリを起動するのではなく、VisualStudio等のIDEからデバッグ実行を行うことによってどういった経緯でNullReferenceExceptionが発生したのかに関するデータを遥かに多く得ることができます。

デバッグ実行を行い、例外発生時の変数の値などの情報を見れば自身でも解決できるかもしれませんし、その情報を載せていただければより的確な回答が得られると思います。

投稿2019/08/05 18:16

Ram.Type-0

総合スコア424

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suns

2019/08/06 00:53

ご助言頂きありがとうございます。 デバッグ時の状態を再度確かめ、自分で解決、または質問事項の追記をしたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問