我使用资源字典进行本地化,我在wpf中有这个代码:
<Window x:Class="RWIS_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="RWIS" Height="500" Width="800" MinHeight="500" MinWidth="800">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Localizations/Dictionary.EN.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
我的问题是,我想使用本地化窗口标题 {StaticResource mW_screen1}
<Window x:Class="RWIS_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="{StaticResource IT_IS_NOT_WORKING}" Height="500" Width="800"
MinHeight="500" MinWidth="800">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Localizations/Dictionary.EN.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<TextBlock Text="{StaticResource IT_IS_WORKING}"></TextBlock>
Run Code Online (Sandbox Code Playgroud)
但是它没有用,因为资源是在title调用它之后定义的.当我尝试运行它时会给我错误
System.Windows.Markup.XamlParseException发生Message ='提供值'System.Windows.StaticResourceExtension'抛出异常.行号"6"和行位置"9".
添加资源后,它适用于标题,文本
我试图用c#代码调用它,但我没有成功.
我知道有选择:
<Window.Title></Window.Title>
Run Code Online (Sandbox Code Playgroud)
但是没有像文本或价值这样的论点,我可以放在哪里 Text="{StaticResource IT_IS_WORKING}"