嗨,我已经在xaml中创建了一个自定义样式:
<Application.Resources>
<Style x:Key="TabEnabledEffect" TargetType="{x:Type TabItem}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="BitmapEffect">
<Setter.Value>
<DropShadowBitmapEffect ShadowDepth="10" Color="Orange" Direction="90" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Application.Resources>
在cs文件中 我有一个名为&#34; tab1&#34;并尝试使用以下代码在button_click事件上为其指定该样式:
tab1.Style = (Style)FindResource("TabEnabledEffect");
运行后即可获得异常:
的NullReferenceException {&#34;对象引用未设置为对象的实例。&#34;}
请帮忙。 提前致谢
答案 0 :(得分:0)
这取决于您在代码中的位置。在您的代码隐藏文件中,您可以使用您拥有的代码行:
tab1.Style = this.FindeResource("TabEnabledEffect") as Style;
当你在另一个文件中时,你必须使用@bit:
提到的语句tab1.Style = Application.Current.FindResource("TabEnabledEffect") as Style;
答案 1 :(得分:0)
您可能想要使用
Application.Current.FindResource("TabEnabledEffect") as Style;
因为您已在应用程序级别声明了资源。