WPF-实现多语言应用程序-绑定问题

WPF-实现多语言应用程序-绑定问题,wpf,multilingual,translate,Wpf,Multilingual,Translate,嗨 我必须在我的应用程序中添加对其他语言的支持。几乎整个应用程序都准备好了,但是我在翻译从ResourcesDictionary文件“加载”的工具提示时遇到了问题。 对于我的应用程序中的couple元素,我有相同的工具提示。因此,我决定在ResourceEditionary中添加工具提示,而不是一遍又一遍地编写相同的代码。 我的工具提示是这样的 <TextBlock FontWeight="Bold" Text="Text to translation" TextAlig

嗨 我必须在我的应用程序中添加对其他语言的支持。几乎整个应用程序都准备好了,但是我在翻译从ResourcesDictionary文件“加载”的工具提示时遇到了问题。 对于我的应用程序中的couple元素,我有相同的工具提示。因此,我决定在ResourceEditionary中添加工具提示,而不是一遍又一遍地编写相同的代码。 我的工具提示是这样的

        <TextBlock  FontWeight="Bold" Text="Text to translation" TextAlignment="Left" />
        <TextBlock Text="{Binding Path=_Code}" Grid.Column="1" TextWrapping="Wrap"/>
        <TextBlock FontWeight="Bold" Text="Text to translation" TextAlignment="Left" Grid.Row="1" />
        <TextBlock Text="{Binding Path=_Name}" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap"/>
        <TextBlock Text="Text to translation:" Grid.Row="3" FontWeight="Bold" TextAlignment="Left" />

   </Grid>
</ToolTip>

        <TextBlock  FontWeight="Bold" Text="Text to translation" TextAlignment="Left" />
        <TextBlock Text="{Binding Path=_Code}" Grid.Column="1" TextWrapping="Wrap"/>
        <TextBlock FontWeight="Bold" Text="Text to translation" TextAlignment="Left" Grid.Row="1" />
        <TextBlock Text="{Binding Path=_Name}" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap"/>
        <TextBlock Text="Text to translation:" Grid.Row="3" FontWeight="Bold" TextAlignment="Left" />

   </Grid>
</ToolTip>

从ResourcesDictionary实现多语言支持的最佳方式是什么?

您或许应该替换

        <TextBlock  FontWeight="Bold" Text="Text to translation" TextAlignment="Left" />
        <TextBlock Text="{Binding Path=_Code}" Grid.Column="1" TextWrapping="Wrap"/>
        <TextBlock FontWeight="Bold" Text="Text to translation" TextAlignment="Left" Grid.Row="1" />
        <TextBlock Text="{Binding Path=_Name}" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap"/>
        <TextBlock Text="Text to translation:" Grid.Row="3" FontWeight="Bold" TextAlignment="Left" />

   </Grid>
</ToolTip>
Text="Text to translation"

        <TextBlock  FontWeight="Bold" Text="Text to translation" TextAlignment="Left" />
        <TextBlock Text="{Binding Path=_Code}" Grid.Column="1" TextWrapping="Wrap"/>
        <TextBlock FontWeight="Bold" Text="Text to translation" TextAlignment="Left" Grid.Row="1" />
        <TextBlock Text="{Binding Path=_Name}" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap"/>
        <TextBlock Text="Text to translation:" Grid.Row="3" FontWeight="Bold" TextAlignment="Left" />

   </Grid>
</ToolTip>

当然,此示例假定应用程序的翻译是基于资源字典的。

但是应用程序如何知道使用哪一个字典呢?我想我必须有两个词汇。一个包含我的默认语言文本,另一个包含其他语言。请查看此文档:。您应该将每种受支持语言的可本地化资源放入单独的所谓附属程序集中。将自动为您加载正确的部件。
        <TextBlock  FontWeight="Bold" Text="Text to translation" TextAlignment="Left" />
        <TextBlock Text="{Binding Path=_Code}" Grid.Column="1" TextWrapping="Wrap"/>
        <TextBlock FontWeight="Bold" Text="Text to translation" TextAlignment="Left" Grid.Row="1" />
        <TextBlock Text="{Binding Path=_Name}" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap"/>
        <TextBlock Text="Text to translation:" Grid.Row="3" FontWeight="Bold" TextAlignment="Left" />

   </Grid>
</ToolTip>