在Silverlight中绑定到RelativeSource Self

时间:2010-04-21 07:59:07

标签: silverlight binding self relativesource

我正在尝试将滑块控件的值绑定到同一控件中的属性:

 <Slider 
        Value="{Binding Path=ValueProperty, RelativeSource={RelativeSource Self}}"
        Name="slider1"  />

但它没有绑定到“ValuePropery”...... 我做错了什么?

3 个答案:

答案 0 :(得分:4)

我不确定相同的控件是什么意思。 如果您正在创建用户控件并且它包含您已定义的名为ValueProperty的属性(即在控件的代码后面),则可以尝试使用以下代码:

<Slider 
    Value="{Binding ElementName=LayoutRoot Path=Parent.ValueProperty}"
    Name="slider1"  />

此解决方案要求您将用户控件中的根控件命名为LayoutRoot(这是默认设置)。

答案 1 :(得分:4)

据我所知,你试图将Slider Value属性绑定到自身,如果是这种情况,那么你无法确定绑定路径会改变你的XAML,如下所示:

<Slider Value="{Binding Path=Value, RelativeSource={RelativeSource Self}}"
        Name="slider1"  />

答案 2 :(得分:1)

如果您指的是当前页面的属性,请查看以下讨论: WP7 Binding to Local Variable

如果您的意思是Slider的属性,那么您可以使用TemplateBinding:

<Slider  Value="{TemplateBinding ValueProperty}" Name="slider1"  />

希望这会对你有所帮助。