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

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

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

UWPは、Universal Windows Platformの略。様々なデバイス向けに提供されているアプリケーションを共通のフレームワーク上で動作可能にする仕組みで、Windows10で導入されました。

C#

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

Q&A

解決済

3回答

1102閲覧

【UWP】DataTemplateのDataTypeのエラーについて

heroherohero

総合スコア38

UWP

UWPは、Universal Windows Platformの略。様々なデバイス向けに提供されているアプリケーションを共通のフレームワーク上で動作可能にする仕組みで、Windows10で導入されました。

C#

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

0グッド

0クリップ

投稿2019/07/15 06:45

編集2019/07/15 11:20

※すみません、最初に、記載していたソースのファイル名などを、ほかの方が分かりやすいように、置き換えていたのですが、添付している画像のエラーとの差異があったため、現状のファイル名をそのまま記載いたします。どうぞ、よろしくお願いいたします。

お世話になっております。

Prism 6.3(MVVMパターン)の開発環境で、UWPのアプリを開発しております。

下記、参考サイトと同じようなことをしようとして、自分の環境に合わせて書き換えていたところ、エラーが出て解決できなかったため、質問させていただきます。

  • 参考サイト

https://stackoverflow.com/questions/43824504/uwp-community-toolkit-adaptivegridview-control-with-one-item-only?rq=1

  • エラー内容

イメージ説明

下の青色部分のエラーが解決できれば、上のエラーも消えると思っているのですが。。。。

  • リスト解決に向けて試したこと

 プロジェクトの「bin」フォルダと、「obj」フォルダを削除して、「リビルド」を行いましたが、エラーは解決しませんでした。

もし、解決方法が分かる方がいらっしゃいましたら、教えていただけますと幸いです。

どうぞよろしくお願いいたします。

  • MainViewModel.cs(一部抜粋)

C#

1using System; 2using System.Collections.Generic; 3using System.IO; 4using Prism.Windows.Mvvm; 5using Prism.Windows.Navigation; 6using Windows.ApplicationModel.Resources; 7using Windows.Storage; 8using Windows.Storage.Pickers; 9using Windows.UI.Xaml; 10using Windows.UI.Xaml.Controls; 11 12namespace LearningAlbum.ViewModels 13{ 14 public class Photo 15 { 16 public string FilePath { get; set; } 17 18 public string ReflectionTitle { get; set; } 19 } 20 21 public class PhotoListViewModel : ViewModelBase 22 { 23 public List<Photo> _PhotoList { get; set; } 24 25 public PhotoListViewModel() 26 { 27 this._PhotoList = new List<Photo> 28 { 29 new Photo { FilePath="....", ReflectionTitle="タイトルタイトル!" }, 30 new Photo { FilePath="....", ReflectionTitle="タイトルタイトル!" }, 31 }; 32 } 33 } 34}
  • PhotoListPage.xaml(一部抜粋)

C#

1<Page 2 x:Class="LearningAlbum.Views.PhotoListPage" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 6 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 7 xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" 8 xmlns:local="using:LearningAlbum.ViewModels" 9 Style="{StaticResource PageStyle}" 10 xmlns:prismMvvm="using:Prism.Windows.Mvvm" 11 prismMvvm:ViewModelLocator.AutoWireViewModel="True" 12 mc:Ignorable="d"> 13 14 <controls:AdaptiveGridView Name="SuggestionGridView" 15 Style="{StaticResource MainGridView}" 16 SelectionChanged="SelectionChanged" 17 ItemsSource="{x:Bind ViewModel._PhotoList}" 18 StretchContentForSingleRow="False" > 19 <controls:AdaptiveGridView.ItemTemplate> 20 <DataTemplate x:DataType="local:Photo" > 21 <StackPanel Margin="4" MaxWidth="276"> 22 <Grid> 23 <Image Source="{x:Bind FilePath}" Style="{StaticResource GridViewImage}"/> 24 <Border Style="{StaticResource TimeBorder}"> 25 <TextBlock Text="{x:Bind ReflectionTitle}" Foreground="White"/> 26 </Border> 27 </Grid> 28 <TextBlock Text="{x:Bind ReflectionTitle}" Style="{StaticResource GridViewVideoName}"/> 29 <TextBlock Text="{x:Bind ReflectionTitle}" Style="{StaticResource GridViewParentName}"/> 30 <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch"> 31 <TextBlock Text="{x:Bind ReflectionTitle}" Style="{StaticResource GridViewViews}"/> 32 <TextBlock Text="Views" HorizontalAlignment="Right"/> 33 </StackPanel> 34 </StackPanel> 35 </DataTemplate> 36 </controls:AdaptiveGridView.ItemTemplate> 37 </controls:AdaptiveGridView>

◆PhotoListPage.xaml.cs(コードビハインド)

C#

1using System; 2 3using LearningAlbum.ViewModels; 4 5using Windows.UI.Xaml.Controls; 6 7namespace LearningAlbum.Views 8{ 9 public sealed partial class PhotoListPage : Page 10 { 11 private PhotoListViewModel ViewModel => DataContext as PhotoListViewModel; 12 13 public PhotoListPage() 14 { 15 InitializeComponent(); 16 } 17 } 18}

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

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

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

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

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

tor4kichi

2019/07/15 11:06 編集

`MainPage.xaml.cs'(またはエラーが起きているページのコードビハインド)のコードを見せてもらえますか? ({x:Bind ViewModel._PhotoList}としている点がネックかもしれないなーと思ったので)
heroherohero

2019/07/15 11:25

コメント、ありがとうございます。 コードビハインドに関して、記載いたしました。 また、すみません。ファイル名によって、誤解を与えてしまっていたかもしれないので、現状のアプリで利用しているファイル名に修正いたしました。こちらも併せて、ご確認のほど、よろしくお願いいたします。
guest

回答3

0

ベストアンサー

追記ありがとうございます。

SelectionChangedに対するイベントハンドラーがコードビハインドに無いようですが、そちらを解消してみて、どうなるか試してみてください。

投稿2019/07/15 11:24

tor4kichi

総合スコア763

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

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

heroherohero

2019/07/15 12:40

コメント、ありがとうございます。解決いたしました! ひとまず(「PhotoListPage.xaml」ファイルの)「SelectionChanged="SelectionChanged"」の記述が不要だったため、こちらを削除しました。 そして、ビルドしたところ、うまくビルドが通りました! ありがとうございました!
tor4kichi

2019/07/15 12:57

無事進めてよかったですね。エラーメッセージは全て平等に疑っていけるといいのかなと思いました。お疲れさまでした。
guest

0

自動紐付けするには、ViewとViewModelの名前が約束通りである必要があります。
MainViewModel → PhotoListPageViewModel

投稿2019/07/15 10:20

hihijiji

総合スコア4150

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

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

heroherohero

2019/07/15 11:29

コメント、ございます。 申し訳ございません、わたくしのファイル名の記載が良くなく、誤解を与えてしまうような記載になっていたため、ファイル名を修正させていただきました。 コメント、いただいたところ恐縮ですが、再度ご確認いただき、コメントいただけますと幸いです。 よろしくお願いいたします。
hihijiji

2019/07/16 01:07

ファイル名じゃなくてクラス名ね
guest

0

XAML に xmlns:local="using:LearningAlbum.ViewModels" という部分がありますが、この引用符の中を消し去って clr-namespace と打ち込んでみてください。そうすれば正しい候補が出てくるので、それを選んでください。

よく見ていませんでしたが、上のエラーの方が原因だと思います。
tor4kichi さんの方法を試してください。

投稿2019/07/15 11:46

編集2019/07/15 11:56
Zuishin

総合スコア28660

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

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

Zuishin

2019/07/15 11:57 編集

無意味なコメントだったので削除
heroherohero

2019/07/15 12:41

コメント、ありがとうございました。 はい、「tor4kichiさん」のコメントを確認し、本問題を解決することができました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問