123456789101112131415161718192021222324252627282930313233 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Markup;
- namespace FWindSoft.Wpf
- {
- public class DataRowNoExtension : MarkupExtension
- {
- public DataRowNoExtension()
- {
- }
-
- public override object ProvideValue(IServiceProvider serviceProvider)
- {
- var targetProvider = (IProvideValueTarget)serviceProvider.GetService(typeof(IProvideValueTarget));
- // MarkupExtension 在样式模板中,返回 this 以延迟提供值。
- //if (service.TargetObject.GetType().Name.EndsWith("SharedDp")) return this;
- // 如果不是 FrameworkElement,那么返回 this 以延迟提供值。
- FrameworkElement target = targetProvider.TargetObject as FrameworkElement;
- if (target == null) return this;
- //var target = (FrameworkElement)targetProvider.TargetObject;
- var row = target.GetParentType<DataGridRow>();
- if (row == null)
- return 0;
- return row.GetIndex() +1 ;
- }
- }
- }
|