WPF контроль заморожен в Visual Studio 2010 - PullRequest
0 голосов
/ 12 марта 2012

Я сделал пользовательский элемент управления кнопками в WPF и пытаюсь реализовать его в WinForms (c #). Теперь, элемент управления работает, и он хорошо компилируется, но я не могу получить доступ к elementhost - элемент управления не был показан на панели инструментов, а потом я увидел, что он заморожен, т.е. я не могу добавить его в форму. Поскольку процесс сборки проекта прошел без ошибок или предупреждений, я не знаю, что является причиной проблемы. Любая помощь будет оценена, спасибо.

РЕДАКТИРОВАТЬ: Вот код файла xaml:

<Button x:Class="proba4.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="120" d:DesignWidth="300" IsEnabled="True">
    <Button.Template>
        <ControlTemplate TargetType="{x:Type Button}">
            <Grid>
                <Image Name="Normal" Source="C:\stuff\off_button.gif"/>
                <Image Name="Pressed" Source="C:\stuff\on_button.gif" Visibility="Hidden"/>

            </Grid>
            <ControlTemplate.Triggers>
                <Trigger Property="IsPressed" Value="True">
                    <Setter TargetName="Normal" Property="Visibility" Value="Hidden"/>
                    <Setter TargetName="Pressed" Property="Visibility" Value="Visible"/>
                </Trigger>

            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Button.Template>
</Button>

1 Ответ

0 голосов
/ 12 марта 2012

Может быть, это потому, что вы наследуете свой контроль от класса не-usercontrol?В WPF первое правило - избегать наследования управления.Попробуйте использовать композицию

...