多绑定的绑定错误

时间:2015-05-05 14:49:56

标签: c# wpf xaml

对于以下xaml

<Window x:Class="StaticResourceBinding.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:staticResourceBinding="clr-namespace:StaticResourceBinding"        
    x:Name="Me" >    
<Grid>
    <Grid.Resources>
        <staticResourceBinding:MultiConverter x:Key="MultiConverter" ></staticResourceBinding:MultiConverter>                        
    </Grid.Resources>        

    <ContentControl>
        <ContentControl.Content>
            <MultiBinding Converter="{StaticResource MultiConverter}">
                <Binding Source="SomeText"></Binding>                    
                <Binding>
                    <Binding.Source>
                        <TextBlock Text="{Binding SecondText, ElementName=Me}" ></TextBlock>
                    </Binding.Source>
                </Binding>                                        
            </MultiBinding>
        </ContentControl.Content>
    </ContentControl>
</Grid>

我收到此错误。

  

System.Windows.Data错误:4:无法找到带引用的绑定源&#39; ElementName = Me&#39;。 BindingExpression:路径= SecondText;的DataItem = NULL;目标元素是&#39; TextBlock&#39; (名称=&#39;&#39);目标属性是&#39; Text&#39; (键入&#39; String&#39;)

转换器只选择多重绑定的第一个值。

当我设置绑定到&#34; SecondText&#34;属性首先没有引发绑定异常。

我天真的假设是创建TextBlock控件但放在可视树之外导致它不能在树上找到&#34; Me&#34; - 元素。

这是对的吗?如何防止此绑定异常。

毋庸置疑,为了清晰起见,我保持这个例子简单(和愚蠢)。

1 个答案:

答案 0 :(得分:0)

我想说尝试在XAML中的绑定外添加第二个文本框,然后绑定到text属性。

        <MultiBinding Converter="{StaticResource MultiConverter}">
            <Binding ElementName="FirstText" Path="Text"/>
            <Binding ElementName="SecondText" Path="Text"/>
        </MultiBinding>