#xaml #windows-phone-8 #data-binding
#xaml #Windows-phone-8 #Привязка данных
Вопрос:
Итак, я только что купил пакет sync fusion, и теперь я хочу создать sparkline.
В их документации указано, что я могу просто создать модель и передать ее как привязку к sparkline.
Это то, что я сделал. Я создал пустую страницу с таким объектом sparkline:
<Charts:SfLineSparkline x:Name="yay" ItemsSource="{Binding OrderList}" YBindingPath="Number" MarkerVisibility="Visible" HorizontalAlignment="Left" Height="138" VerticalAlignment="Top" Width="456" Background="#FFFF9A9A"/>
В моем коде у меня есть модель «OrderViewModel», которая выглядит следующим образом:
public class OrderViewModel
{
public OrderViewModel()
{
this.OrderList = new ObservableCollection<Order>();
DateTime date = DateTime.Today;
OrderList.Add(new Order { Number = 2, TimeStamp = date.AddHours(1) });
OrderList.Add(new Order { Number = 3, TimeStamp = date.AddHours(2.3) });
OrderList.Add(new Order { Number = 1, TimeStamp = date.AddHours(4) });
}
public ObservableCollection<Order> OrderList { get; set; }
}
Класс «Order» выглядит следующим образом:
public class Order
{
public DateTime TimeStamp { get; set; }
public int Number { get; set; }
}
Пока это не работает.
Согласно их документам, в нем говорится, что я должен сделать что-то вроде добавления контекста данных в приведенную выше сетку, используя локальный тег пространства имен, которого у меня нет.
Это должно выглядеть так:
<Grid.DataContext>
<local:OrderViewModel/>
</Grid.DataContext>
Я понимаю, что это, вероятно, настоящий вопрос для новичков, но я уже некоторое время пытаюсь заставить это работать, и это просто не работает.
Это документы, на которые я ссылаюсь http://help.syncfusion.com/UG/Windows Phone 8/Documents/creatingsparkline.htm
Ответ №1:
Замените MyProject
на ваш.
xmlns:local="using:MyProject"
Или, если OrderViewModel
в другом пространстве имен
xmlns:local="using:MyProject.ViewModels"
Вы должны добавить его с
xmlns:Syncfusion="clr-namespace:Syncfusion.UI.Xaml.Charts"
Другой способ:
Используйте окно свойств, если оно закрыто, откройте его с помощью F4, щелкните тег сетки, затем перейдите к свойству DataContext и нажмите new или желтый квадрат, чтобы выбрать свой OrderViewModel.
Комментарии:
1. Спасибо за ваш ответ, но проблема в локальном, а не в сетке
![]()
2. К сожалению, из представления привязки нечего добавлять, и я не позволю мне добавлять все пространство имен только в мое имя проекта:/. Он говорит, что он не найден