Guest User

Untitled

a guest
Jul 16th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. AddElementConvention<TabControl>(TabControl.ItemsSourceProperty, "ItemsSource", "SelectionChanged")
  2. .ApplyBinding = (viewModelType, path, property, element, convention) => {
  3. if(!SetBinding(viewModelType, path, property, element, convention))
  4. return;
  5.  
  6. var tabControl = (TabControl)element;
  7. if(tabControl.ContentTemplate == null && tabControl.ContentTemplateSelector == null && property.PropertyType.IsGenericType) {
  8. var itemType = property.PropertyType.GetGenericArguments().First();
  9. if(!itemType.IsValueType && !typeof(string).IsAssignableFrom(itemType))
  10. tabControl.ContentTemplate = DefaultItemTemplate;
  11. }
  12.  
  13. ConfigureSelectedItem(element, Selector.SelectedItemProperty, viewModelType, path);
  14.  
  15. if(string.IsNullOrEmpty(tabControl.DisplayMemberPath))
  16. ApplyHeaderTemplate(tabControl, TabControl.ItemTemplateProperty, viewModelType);
  17. };
Add Comment
Please, Sign In to add comment