Как унаследовать абстрактный класс в C#, WPF? hi guys! Для набора однотипных классов WPF (Window, Page или UserControl)…
geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx , пишет в xaml-разметке, что cannot be the root of a XAML file because it was defined using XAML В комментариях там же пишут, что способ работал в VS2005
Ответ на вопрос
Действительно, в C# нет возможности множественного наследования классов, поэтому нельзя наследовать одновременно от разных базовых классов. Однако, вы можете использовать интерфейсы для определения общего поведения для ваших классов и реализовывать необходимые методы в каждом из них. Также, вы можете создать утилитарный класс с методами, которые будут дублироваться в ваших классах, чтобы избежать дублирования кода. Если у вас есть общий функционал, который должен быть реализован в каждом классе, то, возможно, вам стоит пересмотреть дизайн вашей архитектуры и попробовать другой подход к решению задачи. Возможно, вместо общего базового класса вам подойдет использование паттерна проектирования, например, шаблона проектирования "Стратегия" или "Декоратор".Надеюсь, это поможет вам найти оптимальное решение для вашей задачи. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Еще
Как удобнее хранить пароли? По своей давней традиции все данные от своих аккаунтов (логин-пароль-верификация-комментарий)…
для поиска и редактирования/добавления виде. Поначалу хотел сделать простенькое приложение на C# + XAML, но подумал что возможно уже есть готовое и безопасное решение. А что используете для хранения своих
Ответ на вопрос
Для удобного и безопасного хранения паролей рекомендуется использовать менеджеры паролей, такие как LastPass, 1Password, Dashlane или Keeper. Эти приложения позволяют хранить все ваши пароли в зашифрованном виде, а также генерировать сложные пароли для повышения безопасности. Они также предоставляют функции поиска, организации паролей и автоматического заполнения веб-форм.Выбор конкретного менеджера паролей зависит от ваших потребностей и предпочтений, поэтому рекомендуется ознакомиться с функционалом каждого и выбрать наиболее подходящий для вас. В любом случае, хранение паролей в зашифрованном виде в специализированном приложении будет более безопасным и удобным способом, чем запись их в обычной тетради.
Еще
Как правильно написать на MVVM? Подскажите, как правильно использовать шаблон MVVM в WPF приложении. Пример…
Navigate(string newAddress) { viewModel.Model.SomeBrowser.Address = newAddress; } } XAML: ViewModel класс:public class BrowserViewModel : Notifier { public BrowserModel
Ответ на вопрос
1) Вариант, когда свойство SomeControlText продублировано во ViewModel и установка значения происходит через ViewModel (someBrowser.viewModel.SomeControlText = "какой-то текст"), является более правильным подходом. Такой подход соответствует принципам MVVM, где доступ к данным осуществляется через ViewModel, а не напрямую из View.2) Для изменения свойства Address у объекта ChromiumWebBrowser в ViewModel, также рекомендуется создать соответствующее свойство в ViewModel и устанавливать его значение через ViewModel. Например: public string Address
{
get { return Model.SomeBrowser.Address; }
set { Model.SomeBrowser.Address = value; OnPropertyChanged("Address"); }
}И внутри ViewModel можно устанавливать адрес следующим образом: viewModel.Address = "http://example.com";В целом, ваш код соответствует принципам MVVM, однако рекомендуется более четко разделять доступ к данным между View и ViewModel, чтобы упростить поддержку и улучшить читаемость кода.
Еще