0
我已經在使用C#/ XAML和MVVM-Light-Toolkit的Windows 8.1應用程序中獲得了簡單的數據綁定,但它不起作用。我想顯示一個列表,列出從早上六點到第二天六點的時間。下面是相關代碼:簡單綁定不起作用
public class DayViewViewModel : ViewModelBase
{
private ObservableCollection<DateTime> _TimesList = null;
/// <summary>
/// Sets and gets the TimesList property.
/// Changes to that property's value raise the PropertyChanged event.
/// </summary>
public ObservableCollection<DateTime> TimesList
{
get
{
return _TimesList;
}
set
{
if (_TimesList == value)
{
return;
}
RaisePropertyChanging(TimesListPropertyName);
_TimesList = value;
RaisePropertyChanged(TimesListPropertyName);
}
}
public void CreateTimes()
{
TimesList = new ObservableCollection<DateTime>();
for (int i = 0; i < 24; i++)
{
TimesList.Add(DateTime.MinValue.AddHours(6 + i));
}
}
}
現在在XAML編輯綁定:現在完整的層次顯示:
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<ListView Grid.Column="0"
ItemsSource="{Binding Day.TimesList, Mode=TwoWay, Source={StaticResource Locator}}"
ItemTemplate="{Binding Source={StaticResource DayCalendarTimesItemTemplate}}">
</ListView>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
而且模板:
<DataTemplate x:Key="DayCalendarTimesItemTemplate">
<Grid Height="80">
<TextBox Text="{Binding Date}"/>
</Grid>
</DataTemplate>
嗯,我想我我綁定到TextBox中的錯誤對象?我對這個問題感到非常沮喪 - 我無法弄清楚這裏有什麼問題。
編輯:有關定位器信息:
定位器是由MVVM光強工具包中提供的標準定位器:
這裏是與視圖模型的登記類:
public class ViewModelLocator
{
/// <summary>
/// Initializes a new instance of the ViewModelLocator class.
/// </summary>
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<DayViewViewModel>();
}
public DayViewViewModel Day
{
get
{
return ServiceLocator.Current.GetInstance<DayViewViewModel>();
}
}
}
定位器在App.xaml中實例化:
<Application.Resources>
<ResourceDictionary>
<vm:ViewModelLocator x:Key="Locator"/>
[...]
</ResourceDictionary>
</Application.Resources>
非常感謝您的幫助!
FunkyPeanut
你試過了嗎?'? –
dkozl
是的 - 不幸的是 – FunkyPeanut
它顯示空的'TextBoxes'列表還是什麼都不顯示? – dkozl