Как: применить стиль, определенный в generic.xaml к UserControl? (WPF) - PullRequest
2 голосов
/ 05 мая 2011

Я создал стиль в generic.xaml, который хочу использовать в своем проекте для нескольких пользовательских элементов управления.Таким же образом я определил стиль для пользовательского элемента управления, и этот работает так, что кажется, что 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 не может быть найден.При попытке запуска возникает ошибка во время выполнения.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

Когда Generic.xaml использует ComponentResourceKey.

0 голосов
/ 16 мая 2011

Похоже, что Generic.xaml не подходит для хранения стилей для нестандартных элементов управления. Где-то я нашел подсказку поместить файл в App.xaml вместо generic.xaml, и это сработало напрямую. Так что швы Generic.xaml можно использовать только для хранения стилей для customControls. Может быть, кто-то может добавить более образованную причину такого поведения?

...