Comments 17
Спасибо, попробую! А планируется ли включить MessageBox в сам ферймворк или он так и будет поставляться отдельно?
т.к. мое решение не способно работать на android и ios, а авалония метит на все платформы, то в проект, я полагаю, должны быть включены универсальне решения.
Пока так, потом ждем новостей от авторов, если им что-то понравится, я готов целиком отдать решение.
Да и стоит еще добавить много фич, потому как платформы разные и как бы мне не хотелось, но все еще мои окна сообщений все же по разному ведут себя, но я над этим работаю
Чтобы его поставить в сам фреймворк, его нужно нормально сделать. В понятие "нормально" входит "кроссплатформенно". Те же мобильные платформы работают несколько иначе чем десктопные, да и пользователю лучше работать в этом плане с нативным интерфейсом. Так что как минимум необходимо задейтствовать NSAlert, UIAlert и AlertDialog, а апи самого мессаджбокса сделать таким, чтобы оно отражало и их особенности. До всего этого должны дойти руки.
возможностью создания кроссплатформерных приложений с WPF
Вообще-то такой возможности нет и не планируется вообще.
docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0
Или чего-то не понимаю?
хотя как указано вот тут есть шанс, что комьюнити что-нибудь вкостылит
Вообще говоря не можете. Только Windows. Портировать не собираются. Все попытки добавить кроссплатформенность (даже чтобы можно было просто собрать WPF-проекты на никсах жёстко пресекаются.
Интересно, почему пресекаются, да еще и жестко?
Потому что это никоим образом не входит в круг целей майнтейнеров.
По майнтернерами имеется в виду люди, тратящие время и средства на развитие проекта.
Чисто по человечески — это настолько непочатый край работы, на каждом этапе способный поломать стабильные части (тдл там и не пахнет), что в здравом уме этим заниматься никто не будет
Первое, что бросается в глаза после фреймворков от ms, это возможность биндить команды к методам
Так я в Сильверлайте еще 8 лет назад так делал:
<Button Source={StaticResource PersRegResource}}" Command="{Binding Path=ShowExecMonitoringCommand}"></Button>
и в модели:
private ICommandRaiser _fieldShowExecMonitoringCommand;
public ICommandRaiser ShowExecMonitoringCommand
{
get
{
return _fieldShowExecMonitoringCommand ??
(_fieldShowExecMonitoringCommand = new
RelayCommand(ExecuteShowExecMonitoringCommand,
CanExecuteShowExecMonitoringCommand));
}
}
private bool CanExecuteShowExecMonitoringCommand(object parameter)
{
return SelectedMoContract != null;
}
private void ExecuteShowExecMonitoringCommand(object parameter)
{
// code here
}
причем CanExecuteShowExecMonitoringCommand автоматически управляла доступностью кнопки
<Button Command="{Binding RunTheThing}" CommandParameter="Hello World">Do the thing!</Button>
public class MainWindowViewModel : ViewModelBase
{
public void RunTheThing(string parameter)
{
// Code for executing the command here.
}
}
Это, конечно, здорово, но фреймворк всё ещё сырой, помню тоже пытался на нем что-то клепать. В общем, пилить и пилить.
AvaloniaUI: особенности на примере MessageBox