xaml 编辑器无法识别向资源添加字符串
Adding a string to Resources will not be recognized in xaml editor
我正在尝试将多种语言添加到我的 WPF 程序中。所以我使用 Properties.Resources 来存储所有可见的字符串。
在我的 XAML 我有
<Window x:Class="DCMarker.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:loc="clr-namespace:DCMarker.Properties"
Title="{x:Static loc:Resources.Title}" Height="534.6" Width="612" Loaded="Window_Loaded" Closed="Window_Closed"
>
<Grid>
<Menu Height="26" VerticalAlignment="Top">
<MenuItem Header="{x:Static loc:Resources.Tools}">
<MenuItem x:Name="ToolsConnect" Header="{x:Static loc:Resources.ToolsConnect}" Click="ToolsConnect_Click" />
<MenuItem x:Name="ToolsDisconnect" Header="{x:Static loc:Resources.ToolsDisconnect}" Click="ToolsDisconnect_Click" />
<Separator HorizontalAlignment="Left" />
<MenuItem x:Name="ToolsOptions" Header="{x:Static loc:Resources.ToolsOptions}" Click="ToolsOptions_Click" />
</MenuItem>
但是如果我将一个字符串添加到资源中,这个字符串将不会被 XAML 编辑器(或者可能是 Intellisence)识别。通常,如果我重建解决方案,它们将被识别,但有时我必须重新启动 VS2013。
有人知道为什么以及如何解决这个问题吗?
// 安德斯
StaticExtension
class 只会找到 public 成员,不幸的是,当生成 Resources.resx
文件的代码隐藏时,检索资源的属性被标记internal
.
要解决此限制,您可以转到资源的属性并将“自定义工具”从ResXFileCodeGenerator
更改为PublicResXFileCodeGenerator
,然后编译您的解决方案,然后重试。
我正在尝试将多种语言添加到我的 WPF 程序中。所以我使用 Properties.Resources 来存储所有可见的字符串。
在我的 XAML 我有
<Window x:Class="DCMarker.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:loc="clr-namespace:DCMarker.Properties"
Title="{x:Static loc:Resources.Title}" Height="534.6" Width="612" Loaded="Window_Loaded" Closed="Window_Closed"
>
<Grid>
<Menu Height="26" VerticalAlignment="Top">
<MenuItem Header="{x:Static loc:Resources.Tools}">
<MenuItem x:Name="ToolsConnect" Header="{x:Static loc:Resources.ToolsConnect}" Click="ToolsConnect_Click" />
<MenuItem x:Name="ToolsDisconnect" Header="{x:Static loc:Resources.ToolsDisconnect}" Click="ToolsDisconnect_Click" />
<Separator HorizontalAlignment="Left" />
<MenuItem x:Name="ToolsOptions" Header="{x:Static loc:Resources.ToolsOptions}" Click="ToolsOptions_Click" />
</MenuItem>
但是如果我将一个字符串添加到资源中,这个字符串将不会被 XAML 编辑器(或者可能是 Intellisence)识别。通常,如果我重建解决方案,它们将被识别,但有时我必须重新启动 VS2013。
有人知道为什么以及如何解决这个问题吗?
// 安德斯
StaticExtension
class 只会找到 public 成员,不幸的是,当生成 Resources.resx
文件的代码隐藏时,检索资源的属性被标记internal
.
要解决此限制,您可以转到资源的属性并将“自定义工具”从ResXFileCodeGenerator
更改为PublicResXFileCodeGenerator
,然后编译您的解决方案,然后重试。