Ответы пользователя по тегу .NET
  • Как принято у программистов: использовать для переменной свойство или давать параметр в каждом методе?

    @i_light
    Backend, XAML, crossplatform
    Это вопрос концепции. Свойства класса, которые принадлежат семантически его объекту - делайте свойствами. Данные, не относящиеся к объекту - передавайте параметрами.

    Например, для теоретического класса "яблоко", свойства - "размер", "вес", "цвет" - принадлежат яблоку, делаем их свойствами класса. Для теоретического метода "разделить" в этом классе необходим параметр "количество частей" - понятное дело, что он не является свойством яблока.
    Ответ написан
    Комментировать
  • Как установить .NET Framework 3.5 на Windows 10?

    @i_light
    Backend, XAML, crossplatform
    Вставьте установочный диск Windows 10 или смонтируйте ISO. Запустите 'cmd' от администратора и введите команду:

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:БукваДиска:\sources\sxs


    (замените "БукваДиска" на букву Вашего установочного диска или виртуального дисковода)

    Вот и всё.
    Источник.
    Ответ написан
    Комментировать
  • Как работать с окнами в WPF/MVVM?

    @i_light
    Backend, XAML, crossplatform
    Не вижу проблемы, честно говоря. Если вью модель инициализируется во всех окнах одинаково, особенно если автоматически, то можно просто создавать окна и показывать. В зависимости от условий разные.

    Пример:

    Модель:

    namespace MyApp.MyNamespace.ViewModels
    {
    	public class MyWindowModel : INotifyPropertyChanged
    	{
    	   private object _foo;
    	   public object Foo
    	   {
    		  get { return _foo; }
    		  set { _foo = value; RaisePropertyChanged("Foo"); }
    	   }
    
    	...
    
    	}
    }


    Вьюшка:

    <Window x:Class="MyApp.MyNamespace.MyWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:viewModels="clr-namespace:MyApp.MyNamespace.ViewModels">
       <Window.DataContext>
          <viewModels:MyWindowModel x:Key="Model" />
       </Window.DataContext>
       <Grid>
          <TextBlock Text={Binding Foo} />
       </Grid>
    </Window>


    Вызывать можно так, например как вы говорите из окошка логина:
    ...
    // проверяем успешность логина
    if (!loginSuccess)
    	return;
    
    // если всё хорошо, то создаём новое окно
    var myWindow = new MyWindow();
    
    // если нужно - что-то делаем с моделью внутри окна
    var model = myWindow.DataContext as MyWindowModel;
    model.Foo = new object();
    
    // показываем новое окно
    myWindow.Show();
    
    // закрываем текущее окно логина
    var window = Application.Current.Windows[0];
    if (window != null)
    	window.Close();
    Ответ написан
  • Какие есть библиотеки для работы с тачскрином для .NET?

    @i_light
    Backend, XAML, crossplatform
    Для windows 8 можно использовать modern приложения. Они также поддерживают тачскрин. К тому же их проще портировать для мобильных ОС.
    Ответ написан
    Комментировать
  • Адекватная замена MacBook Pro 2014 - что купить?

    @i_light
    Backend, XAML, crossplatform
    Как опытный макбук-хэйтер, делюсь результатами своих поисков.
    HP Zbook 14 G2 L3Z53UT

    Характеристики:
    Intel Core-i7 5500
    16 Gb RAM (двумя планками, обе заменимы)
    AMD FirePro M4150 + Intel HD Graphics 5500
    SSD PCI-e Sandisk A110 256 Gb (скорость чтения/записи примерно 700/700 мб/с) в слоте M.2 2260
    Посадочное место под 2.5" HDD (У меня стоит Samsung SpinPoint 2 Тб)
    Экран 14" 1920*1080 IPS матовый (у модели L3Z54UT глянцевый сенсорный)
    Безопасность - сканер отпечатков, ридер смарт-карт, ридер NFC-карт, шифрование ФС..
    Порт для док-станции
    Порт для допольнительной батареи (плоская на дно ноутбука)
    Клавиатура островная с подсветкой и наиболее стандартной раскладкой из всех что я видел.
    4 USB
    DisplayPort (в продаже есть кабели DP-HDMI)
    VGA (без переходников)
    Ethernet (без переходников)
    Wi-Fi 802.11 AC

    Вес - 1, 8 кг.

    Плюс - разбирается без отвёртки, общемировая гарантия на железо 3 года, в комплекте Windows 7 и Windows 8.1 Pro с апгрейдом до Windows 10. Зарядное устройство на 65W, довольно компактное.

    Батарею держит часов 5 в обычном режиме, в экономном до 8-10.

    Из минусов - не знаю, продаётся ли такой в России, живу не в России и покупал на амазоне с заведомо только английской клавиатурой (печатаю вслепую, а когда смотрю, русские буквы только мешают).

    Собираюсь на днях сделать обзор на хабре :)

    Цена на амазоне $1600 (была). Не знаю какой конфигурации ваша прошка, в сравнимой стоила бы от $2000.
    Ответ написан