簡體   English   中英

Silverlight元素與generic.xaml中的元素綁定

[英]Silverlight element to element binding in generic.xaml

在Silverlight模板化控件中是否有將元素綁定到元素的方法?

示例:我有兩個自定義控件, SomeControlCustomSlider SomeControl具有一個名為someValue的依賴項屬性。 我想將CustomSlider的值綁定到此屬性,所以我的generic.xaml文件如下所示:

 <Style TargetType="local:SomeControl"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:SomeControl"> <...> </ControlTemplate> </Setter.Value> </Setter> </Style> 
<Style TargetType="local:CustomSlider">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:CustomSlider">
                <Slider Value="{Binding someValue, ElementName=local:SomeControl}" />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

這是我的依賴項屬性:

  public int someValue, { get { return (int)GetValue(someValueProperty); } set { SetValue(someValueProperty, value); } } public static readonly DependencyProperty (someValueProperty) = DependencyProperty.Register(someValue); typeof(int), typeof(SomeControl, new PropertyMetadata(0)); 

這將引發“ BindingExpression_CannotFindElementName”異常。

您不能像這樣使用它。 通過ElementName進行的綁定應用於特定的元素實例,而不是樣式。 您可以創建其他依賴屬性,說SliderValueCustomSlider控制和綁定到它。

<local:SomeControl x:Name="SomeControl"/>
<local:CustomSlider SliderValue="{Binding someValue, ElementName=SomeControl}"/>

並在SliderValue屬性更改時從模板更改Slider Value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM