Множественная привязка с использованием StringFormat и локализация с использованием VisualBaml

#c# #wpf #localization #locbaml

#c# #wpf #локализация #locbaml

Вопрос:

Я пишу приложение WPF, которое затем переводится с использованием VisualLocBaml . VisualLocBaml работает в основном нормально и позволяет мне переводить все соответствующие строки, за исключением той StringFormat , которую я использую для a multibinding .

Вот XAML часть кода, которая имеет multibinding :

 <TextBlock x:Uid="TextBlock_3" TextAlignment="Center" FontSize="24">
    <TextBlock.Text>
        <MultiBinding x:Uid="MultiBinding_1" StringFormat="Your ladder position at {0} is {1}">
           <Binding x:Uid="Binding_1" Path="localInfos.Town" />
           <Binding x:Uid="Binding_2" Path="userInfos.Pos" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>
  

Я попытался добавить некоторый атрибут локализации, как описано здесь : https://msdn.microsoft.com/en-us/library/ms753944 (v = против 110).aspx, например, так:

 <TextBlock x:Uid="TextBlock_3" TextAlignment="Center" FontSize="24" Localization.Attributes = "$Text(Modifiable Readable)">
    <TextBlock.Text>
        <MultiBinding x:Uid="MultiBinding_1" StringFormat="Your ladder position at {0} is {1}" Localization.Attributes = "$StringFormat(Modifiable Readable)">
           <Binding x:Uid="Binding_1" Path="localInfos.Town" />
           <Binding x:Uid="Binding_2" Path="userInfos.Pos" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>
  

Но это не помогло: StringFormat «ваша позиция в лестнице в {0} равна {1}» по-прежнему остается единственной релевантной строкой, которая недоступна для перевода Visual LocBaml