我在generic.xaml中创建了一个样式,我想在我的项目中使用几个UserControls。以同样的方式我定义了一个自定义控件的样式,这个工作原理似乎是generic.xaml加载,这是定义的样式:
<Style TargetType="{x:Type UserControl}" x:Key="ServiceStyle" x:Name="ServiceStyle">
<Setter Property="Opacity" Value="0.5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type UserControl}">
<Border Name="border" CornerRadius="20"
Margin="10"
BorderThickness="5"
BorderBrush="Black">
<ContentPresenter Content="{TemplateBinding Content}"
Margin="{TemplateBinding Padding}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但现在我想使用这种风格,但我无法让它发挥作用。我尝试以下列方式将它作为样式参数添加到UserControl的自定义实例:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Netcarity"
xmlns:CustomControls="clr-namespace:Netcarity.CustomControls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Name="Portier_deur" x:Class="Netcarity.UserControlPortier"
Height="600" Width="800" MouseDown="UserControl_MouseDown" Loaded="UserControl_Loaded" mc:Ignorable="d"
Style="{StaticResource ServiceStyle}">
然而,这给了我一个注意,无法找到资源ServiceStyle。尝试运行时,会出现运行时错误。
提前致谢。
答案 0 :(得分:0)
似乎Generic.xaml不是存储非自定义控件样式的正确位置。在某个地方,我发现提示将syle放在App.xaml而不是generic.xaml,这直接起作用。所以它的接缝Generic.xaml只能用于存储customControls的样式。 也许有人可以为这种行为添加一个更有根据的理由?
答案 1 :(得分:0)
当Generic.xaml使用ComponentResourceKey时。