2010-04-21 87 views
4

我想一個滑塊控件的值綁定到是在同一控制一個屬性的RelativeSource自:綁定到在Silverlight

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

但它不會綁定到「ValuePropery」。 .. 我在做什麼錯?

+1

爲什麼你想將其綁定到自己? – 2011-07-25 08:30:12

+1

不知道他在做什麼,但綁定到自己是有效的。例如,如果我想讓按鈕不可見,如果命令被禁用。

回答

1

如果你指的是當前頁面的屬性,然後檢查這一討論: WP7 Binding to Local Variable

如果你指的是滑塊TemplateBinding的,那麼你可以使用一個屬性:

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

希望這將幫助你。

+2

TemplateBinding只能在模板中使用 – 2011-07-25 08:16:50

4

我不確定您的意思是什麼相同的控件。 如果要創建用戶控件,它包含一個名爲ValueProperty屬性您已經定義(即在控制的後臺代碼),你可以嘗試代碼:

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

這種解決方案需要你有你的您的用戶控件中的根控件名爲LayoutRoot(這是默認設置)。

4

據我所知,你正在試圖滑塊值屬性綁定到自己,如果是這樣的話,那麼你inccorectly確定結合改變你的XAML如下的路徑:

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