获取绑定错误但没有绑定集?

时间:2011-10-26 04:06:30

标签: wpf binding

我的WPF窗口中有这个控件;

<TextBlock Name="txtMyTextBlock"
          Text="{x:Static Resources:Strings.SOME_LABEL_IDENTIFIER}"
          Margin="10,10,10,0" HorizontalAlignment="Left" VerticalAlignment="Top"
          Style="{StaticResource WindowTitleStyle}" />

当窗口加载时,我在输出窗口中收到此错误;

  

Windows.Data错误:40:BindingExpression路径错误:'Text'属性   找不到'object'''MyViewModelClass'(HashCode = 7754709)'。   BindingExpression:路径=文本;的DataItem = 'MyViewModelClass'   (的HashCode = 7754709);目标元素是'TextBlock'   (名称= 'txtMyTextBlock'); target属性是'NoTarget'(类型'Object')

据我所知,TextBlock'txtMyTextBlock'上的'Text'属性设置为嵌入式资源字符串...为什么我在这里遇到绑定错误?

2 个答案:

答案 0 :(得分:0)

在您的Text =“”中,您绑定到静态资源。这可以做到,但你的语法错了。你想要的是这样的:

<Window.Resources>
   <System:String x:Key="FirstName">Jared</System:String>
</Window.Resources>

<TextBox Text="{StaticResource FirstName}"/>

here is a good walk-though/tutorial

答案 1 :(得分:0)

问题不应该出现在这段代码中,x:Static不会导致绑定错误,我怀疑你应用的样式存在绑定失败,例如

<Style x:Key="WinTitleStyle" TargetType="TextBlock">
    <Setter Property="Text" Value="{Binding ThisFails}" />
</Style>
<!-- ... -->
<TextBlock Name="myTB" Text="{x:Static prop:Resources.WinTitle}"
           Style="{StaticResource WinTitleStyle}"/>

即使样式设置器没有precedence,我也会从该绑定中收到错误:

  

System.Windows.Data错误:40:BindingExpression路径错误:   在'对象'''MainWindow'上找不到'ThisFails'属性   (名称= '窗口')”。 BindingExpression:路径= ThisFails;   DataItem ='MainWindow'(Name ='Window');目标元素是'TextBlock'   (名称= 'myTB'); target属性是'Text'(类型'String')