Основной вопрос WPF: как добавить пользовательский триггер свойства? - PullRequest
0 голосов
/ 21 декабря 2009

Я использую Expresion Blend 3 и создал новый пользовательский элемент управления в моем проекте. Я хочу, чтобы раскадровка запускалась, если пользовательское свойство этого пользовательского элемента управления запускается, как показано здесь в списке.

alt text

Я узнал, что вам нужно свойство зависимости, но мое понимание там ограничено. Вот базовый код, который я настроил со свойством "IsAwesome" в качестве примера ..

Partial Public Class simpleControl
    Public Sub New()
        MyBase.New()
        Me.InitializeComponent()
    End Sub

    Public Shared ReadOnly IsAwesomeProperty As DependencyProperty = _
        DependencyProperty.Register("IsAwesome", GetType(Boolean), GetType(simpleControl))

    Public Property IsAwesome() As Boolean
        Get
            Return DirectCast(Me.GetValue(IsAwesomeProperty), Boolean)
        End Get
        Set(ByVal value As Boolean)
            Me.SetValue(IsAwesomeProperty, value)
        End Set
    End Property
End Class

Однако моя собственность не отображается в этом списке. Что мне не хватает? Или весь мой подход неверен? Буду признателен за любую помощь или совет!

Приветствия

1 Ответ

1 голос
/ 22 декабря 2009

Я создал новый проект Wpf. Добавлен новый UserControl (UserControl1) с пользовательским свойством зависимостей под названием Foo.

Затем я открыл Blend и добавил экземпляр UserControl1 в Window1. Я щелкнул правой кнопкой мыши на UserControl1 и сказал EditTemplate | Редактировать копию.

Это создало копию моего пользовательского шаблона управления в Window.Resources. Из этого нового шаблона я поднялся на панель «Триггеры» и нажал кнопку, чтобы добавить новый триггер свойства.

Сразу Blend по умолчанию выбрал мое свойство в разделе «Активировано, когда».

альтернативный текст http://blog.BradCunningham.net/Images/ForumImages/CustomDPInBlend.png

Вы можете взять мой маленький пример приложения здесь: http://blog.BradCunningham.net/SourceCode/ForumSamples/CustomDPInBlend.zip

...