Просто запутываешься, когда пытаешься отобразить определенные вещи при использовании itemssource, datacontexts и привязки.
public class Date
{
public DateTime _WeekDate;
public ICollectionView _WeekData;
}
public class MainWindowViewModel
{
public ICollectionView WeekDates { get; private set; }
public MainWindowViewModel()
{
List<Date> _dates = new List<Date>();
//Code to populate _dates
WeekDates = CollectionViewSource.GetDefaultView(_dates);
}
}
public MainWindow()
{
InitializeComponent();
_ViewModel = new MainWindowViewModel();
gMain.DataContext = _ViewModel;
}
Итак, как вы можете видеть, у меня есть коллекция класса с именем Date, в которой есть DateTime и другая коллекция внутри него. Все это создается в ViewModel, который присоединен к сетке в качестве контекста данных.
В этой сетке у меня есть выпадающий список, который должен отображать значение DateTime, указанное в каждом классе Date в коллекции. Так что со многими возни у меня есть это:
<ComboBox ItemsSource="{Binding Path=PickupDates}" DisplayMemberPath="WeekDate" />
Это сработало, однако я также хочу, чтобы преобразователь привязки был применен к MemberPath для изменения стиля отображения даты. Но применяя его таким образом, я не могу добавить конвертер. Безрезультатно, я пробовал такие вещи, как:
<ComboBox ItemsSource="{Binding Path=PickupDates}" DisplayMemberPath="{Binding Path=WeekDate", Converter={StaticResource DateFormatter}/>
Есть идеи? Или есть ли лучший способ сделать это?
Спасибо заранее,
SumGuy