ItemsControl.GetContainerForItemOverride 方法
2012-08-05 12:43
302 查看
public class CustomTabControl : TabControl { public CustomTabControl() { } public Type AutoGenerateItemType { get { return (Type)GetValue(AutoGenerateItemTypeProperty); } set { SetValue(AutoGenerateItemTypeProperty, value); } } public static readonly DependencyProperty AutoGenerateItemTypeProperty = DependencyProperty.Register("AutoGenerateItemType", typeof(Type), typeof(CustomTabControl), new FrameworkPropertyMetadata(typeof(TabItem), FrameworkPropertyMetadataOptions.AffectsMeasure, OnAutoGenerateItemTypeChanged, new CoerceValueCallback(CoerceAutoGenerateItemTypeValue))); public static void OnAutoGenerateItemTypeChanged(DependencyObject sender,DependencyPropertyChangedEventArgs e) { } public static object CoerceAutoGenerateItemTypeValue(DependencyObject sender, object value) { Type type = value as Type; // 应保证提供的类型为HeaderedContentControl。 if(type.IsSubclassOf(typeof(HeaderedContentControl))) return value; else return sender.GetValue(AutoGenerateItemTypeProperty);; } /// /// 生成自定义的TabItem控件。 /// protected override DependencyObject GetContainerForItemOverride() { System.Reflection.ConstructorInfo info = this.AutoGenerateItemType.GetConstructor(Type.EmptyTypes); if (info == null) throw new InvalidProgramException(AutoGenerateItemType.FullName + "不存在无参构造函数。"); return info.Invoke(null) as DependencyObject; } }
相关文章推荐
- Listview item里面的textView.setMovementMethod(LinkMovementMethod.getInstance()) 让listview 点击生效解决方法
- Remove useless item form the Control Panel\All Control Panel Items
- 漫谈基于模型的强化学习方法 PILCO - Probabilistic Inference for Learning Control
- 异常:getOutputStream() has already been called for this response 的解决方法
- JSP文件下载及出现getOutputStream() has already been called for this response的解决方法
- tomcat5下jsp出现getOutputStream() has already been called for this response异常的原因和解决方法
- getItemValue方法的妙用
- JSP文件下载及出现getOutputStream() has already been called for this response的解决方法(转)
- 在真机上调试时出现“Error launching remote program: failed to get the task for process xxx"的解决方法
- 生成图片验证码jsp出现getOutputStream() has already been called for this response异常的原因和解决方法
- XmlAttributeCollection的Indexer和GetNamedItem方法
- ASP.NET2.0 Menu Control set static item selected when select its child dynamic items
- 编译错误:Could not get unknown property 'release' for SigningConfig container
- WPF为ItemsControl设置ItemsPanelTemplate
- FragmentPagerAdapter中的getItem()方法 第二次进入该fragment,不会被调用的问题
- 使用Container.ItemIndex获取Repeater、Gridview行的序号的简单方法
- no override found for vtkpolydatamapper解决方法
- jsp The method getServletContext() is undefined for the type in eclipse解决方法
- getOutputStream() has already been called for this response异常的原因和解决方法
- tomcat6下jsp出现getOutputStream() has already been called for this response异常的原因和解决方法