2013-02-19 4 views
4

나는 사전에서 String를 사용하려고 해요 : 여러 langages 지원을 활성화하려면이 ConverterParamter에서ConverterParameter에 사전에서 문자열을 사용

<?xml version="1.0" encoding="utf-8" ?> 
<Dictionary EnglishName="English" CultureName="English" Culture="en-US"> 
... 
<Value Id="ButtonSuppressFieldInformation" 
     ToolTip="Remove field" Name="Remove field number "/> 
... 
</Dictionary> 

:

<Button> 
    ... 
    <AutomationProperties.Name> 
     <MultiBinding 
       Converter="{StaticResource IndexedForAutomationId}" 
       ConverterParameter="{loc:Translate 
         Uid=ButtonSuppressFieldInformation, Default=Delete field}"> 
      <Binding RelativeSource="{RelativeSource Self}" /> 
      <Binding ElementName="MyContactDirectoryView" 
        Path="ListConditionToSearch" /> 
     </MultiBinding > 
    </AutomationProperties.Name> 
</Button> 

을하지만 유일한 것은 표시된 숫자 (IndexedForAutomationId)이면 string이 나타나지 않습니다.

사용하여 string 대신 "{loc:Translate Uid=ButtonSuppressFieldInformation, Default=Delete field}" 작품 :

<MultiBinding Converter="{StaticResource IndexedForAutomationId}" 
       ConverterParameter="Delete field"> 

표시 Delete field 0.

을 ConverterParameter로 사용하는 방법은 무엇입니까?

+0

여기에 'loc : 번역'이란 무엇입니까? –

+0

사전을 호출하고'ButtonSuppressFieldInformation' 문자열을 찾습니다. – Mualig

답변

1

이 문제는 많은 것들이 원인 일 수 있으며 더 많은 코드가 실제로 도움이 될 것입니다. 그러나 IndexedForAutomationId 변환기의 Convert() 메서드에서 중단 점을 사용하여 내부 바인딩에서 예상하는 값을 얻었는지 확인하고 2) 변환기 자체가 사전에서 올바른 문자열을 반환하는지 확인합니다.

how to debug WPF bindings에 대한 가이드 라인을 검토하십시오.

+0

'IndexedForAutomationId'가 잘 작동합니다. 문제는'{loc : Translate ...} '부분에서옵니다. – Mualig

+0

내 제안을 따르고 Convert() 메서드에 중단 점을 넣었습니까? 그곳에서 무엇을 찾았습니까? 네가 기대했던 끈을 되찾았 니? –

+0

Finaly에서 변환기가 사전 문자열을 매개 변수로 확인할 수 없음을 발견했습니다. 'Uid = ...'만보고 기본 매개 변수를 사용하지 않았습니다. 변환기 자체 내에서 사전에 전화해야합니다. – Mualig

관련 문제