Мне удавалось легко переносить объекты между страницами, но теперь я не могу отобразить данные в разметке xaml.
Вот объект Quote, который хранится в sdf-файле приложения:
[Table]
public class Quote
{
[Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)]
public int Id { get; set; }
[Column(CanBeNull = false)]
public string QuoteOfTheDay { get; set; }
[Column(CanBeNull = false)]
public string SaidBy { get; set; }
[Column(CanBeNull = true)]
public string Context { get; set; }
[Column(CanBeNull = true)]
public string Episode { get; set; }
[Column(CanBeNull = true)]
public string Season { get; set; }
}
Вот код позади:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
DataContext = this;
var quote = PhoneApplicationService.Current.State["q"];
Quote quoteToDisplay = (Quote)quote;
}
public static readonly DependencyProperty QuoteToDisplayProperty = DependencyProperty.Register(
"QuoteToDisplay", typeof(Quote), typeof(PhoneApplicationPage), new PropertyMetadata(default(Quote)));
public Quote QuouteToDisplay
{
get { return (Quote)GetValue(QuoteToDisplayProperty); }
set { SetValue(QuoteToDisplayProperty, value); }
}
XAML:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock FontSize="36" FontFamily="Verdana" FontWeight="ExtraBlack" Text="{Binding QuoteToDisplay.QuoteOfTheDay}" />
</Grid>
Я получил точные данные, которые хочу отобразить в xaml. Я хочу отобразить свойство QuoteOfTheDay в TextBlock. Но каждый раз, когда я пытаюсь использовать {Binding}, TextBlock всегда пуст. Когда я также пытаюсь использовать Binding, intellisense не предлагает «QuoteOfTheDay».
Я явно пропустил что-то важное, но я не могу понять, что именно.