Универсално приложение на Windows Store – свойства на зависимост

всъщност разработвам универсално приложение за Windows и Windows Phone. В това приложение използвам свойства на зависимост, за да присвоя данни на свойства на персонализирани потребителски контроли в XAML. Проблемът е, че компилаторът казва, че не може да намери свойството, към което бих искал да обвържа данни.

Дефиницията на бутона изглежда по следния начин.

public sealed partial class RulerButton : UserControl
{
    public static readonly DependencyProperty BackendProperty =
        DependencyProperty.Register("Backend", typeof(GlobalData), 
        typeof(RulerButton), new PropertyMetadata(null));

    public GlobalData Backend
    {
        get { return (GlobalData)GetValue(BackendProperty); }
        set { SetValue(BackendProperty, value); }
    }

    public RulerButton()
    {
        this.InitializeComponent();
    }
}

Използвам този бутон в главната си страница по този начин.

<btn:RulerButton Backend="{Binding ElementName=root, Path=BackendSource}"/>

Тогава компилаторът казва Unknown Member "Backend" in Element "RulerButton".

Ако сте използвали същия подход по-рано в други проекти (нормални WPF-Windows приложения) и той работи добре. Така че мисля, че проблемът е свързан с проекти за универсални приложения.

Всички други въпроси, които открих, не можаха да решат проблема ми. Ще съм благодарен, ако някой може да ми даде съвет.

поздрави

Редактиране

Е, аз всъщност реших проблема. Но мисля, че е много любопитно. Освен RulerButton имам много други контроли, където добавих същите свойства на зависимост. На някои от тях все още не съм добавил нормалното свойство Backend. Защото първо исках да накарам RulerButton да работи. След завършване на тези контроли, така че всеки от тях да има атрибут BackendProperty и Backend, всички грешки бяха изчезнали.

все пак благодаря за помощта ви момчета


person Marco Busemann    schedule 17.07.2014    source източник
comment
DP е за RulerButton, но вашият XAML използва PreviewButton?   -  person 123 456 789 0    schedule 17.07.2014
comment
О, съжалявам, грешка при копиране.   -  person Marco Busemann    schedule 17.07.2014
comment
Опитахте ли да прекомпилирате?   -  person 123 456 789 0    schedule 17.07.2014
comment
И компилаторът все още казва Unknown Member "Backend" in Element "PreviewButton"? Или това също е грешка при копиране?   -  person Clemens    schedule 17.07.2014
comment
Това грешка на компилатора ли е или грешка на IntelliSense?   -  person Filip Skakun    schedule 17.07.2014
comment
Под WPF - имате предвид WinRT/XAML? WPF не се поддържа в приложенията на магазина.   -  person Filip Skakun    schedule 17.07.2014
comment
Да, грешката все още съществува. Почистването и възстановяването на проекта не променя нищо. Мисля, че е грешка на компилатора, защото не мога да стартирам приложението. И да, имам предвид WinRT/XAML. Не знаех, че има разлика sry.   -  person Marco Busemann    schedule 18.07.2014
comment
Как мога да затворя този въпрос?   -  person Marco Busemann    schedule 18.07.2014
comment
Напишете отговор на въпроса си, като обясните как сте го решили. Можете да направите това, като щракнете върху бутона в долната част на страницата.   -  person Johnathon Sullinger    schedule 19.07.2014


Отговори (1)


Е, аз всъщност реших проблема. Но мисля, че е много любопитно. Освен RulerButton имам много други контроли, където добавих същите свойства на зависимост. На някои от тях все още не съм добавил нормалното свойство Backend. Защото първо исках да накарам RulerButton да работи. След завършване на тези контроли, така че всеки от тях да има BackendProperty и Backend атрибут, всички грешки бяха изчезнали.

person Marco Busemann    schedule 23.07.2014