我可以使用SL5 RC标记扩展绑定吗?



我可以使用SL5 RC标记扩展绑定吗?

这是我的XAML:
...
    <TextBlock>
                <TextBlock.Text>
                   <local:LengtherMarkupExtension Test="{Binding ElementName='MyTextBox', Path='Text'}" />
                </TextBlock.Text>
            </TextBlock>
...

和ME:

public class LengtherMarkupExtension: FrameworkElement,
        IMarkupExtension<string>
    {
        public LengtherMarkupExtension()
        {
            //this.DataContext = this;
        }

        public static readonly DependencyProperty TestProperty =
            DependencyProperty.Register("Test",
                typeof(string),
                typeof(LengtherMarkupExtension),
                new PropertyMetadata("DefaultValue",
                    (o, e) => 
                    {
                        System.Diagnostics.Debugger.Break();
                    }));

        public string Test
        {
            get { return (string)this.GetValue(LengtherMarkupExtension.TestProperty); }
            set { this.SetValue(LengtherMarkupExtension.TestProperty, value); }
        }

        public string ProvideValue(IServiceProvider serviceProvider)
        {
            return this.Test.Length.ToString();
        }
    }

我的ME的测试属性没有通过绑定设置,无论如何,我做错了什么?

标记扩展在传递过程中被XAML解析器调用,此时绑定无法解析。根据您的示例,看起来您可能想要返回binding。

最新更新