Hi Steve,
The BarComboBox control ignores the ItemStringFormat property. Even the native WPF controls ignore that property when an ItemTemplate/ItemTemplateSelector is defined like with BarComboBox.
Even if you don't use the MVVM pattern in your application, BarComboBox is one of the rare instances where the items source should be based on view models to work properly in all scenarios. BarComboBox is technically a gallery control so we can provide advanced functionality in the dropdown and support various overflow scenarios, so that's why view models are required. You don't have to use our companion MVVM library, but it does provide the base BarGalleryItemViewModel<TValue> class that you can derive from for you own view model. Using that base class, you can override the CoerceLabel method to control how the label for the item is formatted.
public class DateTimeBarGalleryItemViewModel : BarGalleryItemViewModel<DateTime> {
public DateTimeBarGalleryItemViewModel(DateTime value) : base(value) { }
protected override string CoerceLabel() {
return base.Value.ToString("MMM d, yyyy");
}
}
If you didn't want to use the MVVM library, you would need to define your own view model for the BarComboBox items and define your own ItemTemplate for how to display each item.