2011-10-26 3 views
0

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 Error: 40 : BindingExpression path error: 'Text' property not found on 'object' ''MyViewModelClass' (HashCode=7754709)'. BindingExpression:Path=Text; DataItem='MyViewModelClass' (HashCode=7754709); target element is 'TextBlock' (Name='txtMyTextBlock'); target property is 'NoTarget' (type 'Object')

지금까지 내가 여기 ..., TextBlock이 'txtMyTextBlock'의 '텍스트'속성이 포함 리소스 문자열로 설정하는 이유는 무엇입니까 바인딩 오류를 말할 수있는?

답변

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

+0

이 자원이 된 .resx 문자열 파일이다 -이 경우에 정적 리소스 바인딩은 작동하지 않습니다. 내 문제는 실제로 트리거가있는 스타일에 있다고 생각합니다. 나는 약간의 오류가 발생했습니다. –

+1

그 정보는 알고 좋았을 것입니다. :) –

+0

참. 그러나 언제나처럼, 나는 나의 질문을 게시 한 후에 나의 실수 *를 알아 차린다. 사과한다. –

0

이 문제는 x:Static 내가 실패하는 스타일 바인딩을 있다는 것을 의심, 바인딩 오류가 발생하지 않습니다, 코드의이 비트에 있으면 안하면 적용, 예 스타일 세터 precedence이없는 경우에도

<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}"/> 

내가 그 바인딩에서 오류가 발생합니다 :

System.Windows.Data Error: 40 : BindingExpression path error: 'ThisFails' property not found on 'object' ''MainWindow' (Name='Window')'. BindingExpression:Path=ThisFails; DataItem='MainWindow' (Name='Window'); target element is 'TextBlock' (Name='myTB'); target property is 'Text' (type 'String')