小编Nic*_*ebb的帖子

WPF ResourceDictionary中StaticResource的范围是什么?

我有一个带有以下TextBlock的WPF ResourceDictionary:

<TextBlock Visibility="{Binding Converter={StaticResource MyBoolProp ResourceKey=BoolToVis}}">
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

ResourceDictionary包含在MergedDictionaries下的App.xaml中:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="MyResourceDictionary.xaml"/>
Run Code Online (Sandbox Code Playgroud)

在App.xaml中,我定义了BoolToVis转换器(再次,在下Application.Resources)

<BooleanToVisibilityConverter x:Key="BoolToVis" />
Run Code Online (Sandbox Code Playgroud)

当我启动我的应用程序时 - 我得到以下XamlParseException:

"在'System.Windows.Markup.StaticResourceHolder'上提供价值引发了异常."

InnerException是:

"找不到名为'BoolToVis'的资源.资源名称区分大小写."

我可以直接用App.xaml引用这个转换器(事实上,特定的XAML声明是相同的),并且在其他UserControl中没有问题.

这个特殊的代码在.NET 4.0 RC(和Beta2)下运行良好.仅当我升级到.NET 4.0 RTM时才会发生此错误.

我可以通过BooleanToVisibilityConverter在MyResourceDictionary.xaml中声明另一个并且像这样引用它来解决它:

<TextBlock Visibility="{Binding Converter={StaticResource MyBoolProp ResourceKey=BoolToVis2}}">
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

有什么理由我需要这样做吗?

wpf .net-4.0 resourcedictionary

12
推荐指数
1
解决办法
8747
查看次数

是否可以在脚本中自动强制SQLCMD模式?

我们正在使用Visual Studio Database Professional,它在部署时大量使用SQLCMD变量来区分环境.

我知道有几个指令可用于设置上下文(例如:connect for server name).脚本本身是否有办法强制执行SQLCMD模式?我们部署过程的一部分是让DBA检查并执行脚本,这将是一个很好的安全网(所以我不必提醒他们将执行模式设置为SQLCMD).

sql ssms sqlcmd

12
推荐指数
1
解决办法
7600
查看次数

标签 统计

.net-4.0 ×1

resourcedictionary ×1

sql ×1

sqlcmd ×1

ssms ×1

wpf ×1