我已经创建了用户控件,我要绑定的属性代码是:
public Color Value
{
    get
    {
        return (Color)this.GetValue(this.ValueProperty);
    }
    set
    {
        this.SetValue(this.ValueProperty, value);
    }
}
public readonly DependencyProperty ValueProperty = 
    DependencyProperty.Register("Value", typeof(Color), 
    typeof(ColorSlider), new PropertyMetadata(Colors.Red))
我的页面中有两个此控件的实例:
<local:ColorSlider x:Name="ColorsSlider1" />
<!--...-->
<local:ColorSlider x:Name="ColorsSlider3" />
和带有值的控件,我想绑定到(从ColorSlider到Canvas和TextBlock):
<Canvas x:Name="TileCanvas" Grid.Column="0" Margin="30" Width="173" Height="173"
        Background="{Binding Value, ElementName=ColorsSlider1, Converter={StaticResource ColorToSolidBrushConverter}}">
    <TextBlock x:Name="TileText" Text="dsdfsdfsf"
               Foreground="{Binding Value, ElementName=ColorsSlider3, Converter={StaticResource ColorToSolidBrushConverter}}"/>
</Canvas>
所以这就是问题所在。绑定到Canvas作品,但绑定到TextBlock不!有趣的是,如果我删除ColorSlider3了对意志的绑定TextBlock!TextBlock如果我将绑定设置为ColorSlider3.
所以看来我只能从 one 的最新实例绑定值UserControl。为什么会这样,我该如何解决?