Расширение от кнопки

1

Я пытаюсь сделать простую вещь, но безуспешно.

Мне нужно перейти от кнопки и создать пользовательскую кнопку с пользовательскими приличиями (ничего общего со стилями или визуальными настройками).

Я создал простой класс в пространстве имен AppEdil.UI.

namespace AppEdil.UI
{
    class MainMenuButton : Button
    {
        public int MenuTabIndex { get; set; }

        public MainMenuButton() 
        {

        }
    }

}

Затем в окне xaml я добавил пространство имен:

xmlns:ui = "clr-namespace:EdilCaselle.UI"

И затем я добавил кнопки:

 <!-- Clients -->
 <ui:MainMenuButton Style="{StaticResource mainMenuButtonStyle}" Width="70" Height="60" Margin="0, 0, 5, 0" HorizontalAlignment="Left" VerticalAlignment="Center">
     <ui:MainMenuButton.Content>
         <StackPanel>
             <Image Source="Images/Big_Icons/user.png" Height="32" Width="32"/>
             <TextBlock>Clienti</TextBlock>
         </StackPanel>
     </ui:MainMenuButton.Content>
 </ui:MainMenuButton>

Но я получаю разные ошибки:

  • MainMenuButton не существует в пространстве имен AppEdil.UI

  • Класс MainMenuButton не найден и что я должен увидеть, не пропустил ли я ссылку или сборку

  • MainMenuButton не поддерживается в WPF
    приложение (Wtf?)

Вы можете мне помочь?

  • 1
    Вы действительно xmlns:ui = "clr-namespace:EdilCaselle.UI" виду xmlns:ui = "clr-namespace:EdilCaselle.UI" ? Также кнопка и окно в одной сборке?
  • 2
    Ваши классы не будут доступны в XAML, пока вы не построите свой проект. Вы уже построили это? Очистка вашего проекта также может быть полезна. Кроме того, это может помочь (возможно, нет), но измените свой атрибут xmlns на xmlns:ui = "clr-namespace:EdilCaselle.UI;assembly=" . Вам также может понадобиться сделать ваш класс публичным.
Показать ещё 1 комментарий
Теги:
class
wpf
button

1 ответ

2

Вам не хватает общедоступного ключевого слова из вашего класса. Добавьте это, и это сработает! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню