我的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'属性设置为嵌入式资源字符串...为什么我在这里遇到绑定错误?
答案 0 :(得分:0)
在您的Text =“”中,您绑定到静态资源。这可以做到,但你的语法错了。你想要的是这样的:
<Window.Resources>
<System:String x:Key="FirstName">Jared</System:String>
</Window.Resources>
<TextBox Text="{StaticResource FirstName}"/>
答案 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')