そのため、アプリにデータバインディングを実装する練習をしようとしていますが、参照エラーが発生し続けています。
「name SubtopicButton は名前空間 'using:TestApp.Models' に存在しません」
他の誰かが私が欠けているものを指摘できるかもしれませんが、ここに関連するコードがあるので、何かを見落としているだけかもしれません.
更新: 代わりに完全な XAML を次に示します。
<Page
x:Class="TestApp.SubtopicPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:data="using:TestApp.Models"
mc:Ignorable="d">
<Grid Background="{ThemeResource SystemControlForegroundBaseHighBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="125"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" x:Name="Back" Height="100" Width="100" Tapped="{x:Bind backButtonTapped}" HorizontalAlignment="Left" Margin="50,20,0,0" VerticalAlignment="Top" FontSize="40">
<Button.Background>
<ImageBrush ImageSource="Assets/backButton.png"/>
</Button.Background>
</Button>
<GridView ItemsSource="{x:Bind SubtopicButtons}">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:TestApp.Models.SubtopicButton">
<StackPanel>
<Image Width="300"/>
<TextBlock FontSize="16"/>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
</Page>
次に、ここにエクスプローラービューがあります
次に、ここにファイル SubtopicButton.cs があります
namespace TestApp.Models
{
public class SubtopicButton
{
public string SubtopicName { get; set; }
public string Image { get; set; }
}
public class SubtopicButtonManager
{
public static List<SubtopicButton> GetSubtopicButtons()
{
var subtopicButtons = new List<SubtopicButton>();
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Gender Roles", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Meeting Proceedings", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Concept of Time", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Business Ethics", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Greetings & Personal Reference", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Cultural Pitfalls", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Personal Space", Image = "Assets/femaleMaleSymbol.jpg" });
subtopicButtons.Add(new SubtopicButton { SubtopicName = "Negotiation and Ideas of Public Image", Image = "Assets/femaleMaleSymbol.jpg" });
return subtopicButtons;
}
}
}
そして最後に、アイテム ソースとして参照したプロパティ SubtopicButtons (リスト型) を含む XAML ページの背後にあるコードを次に示します。
public sealed partial class SubtopicPage : Page
{
private List<SubtopicButton> SubtopicButtons;
public SubtopicPage()
{
this.InitializeComponent();
SubtopicButtons = SubtopicButtonManager.GetSubtopicButtons();
}
とは言ってもエラーになるのは一番上にあるXAMLに含めた部分だけですが、ちょっと迷ったので全部入れてみました。私は何を得ていないのですか?あなたたちが与えることができるどんな助けにも前もって感謝します