Ответы пользователя по тегу XAML
  • Как отобразить вложенный datagrid в rowdetails внешнего datagrid?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    То что вы делаете - плохая практика, вы полностью убьете виртуализацию и это месиво из тяжелых контролов друг в друге будет тормозить, если данных много.
    Простое правило - 2 датагрида на вьюху - предел.(в т.ч. и по юзабилити)
    Все же RowDetails немного для другого предназначен, вывести какую-то строчку поясняющего текста, описание, статусы, не более.
    Не совсем понятно что именно вы хотите, но вроде бы вот решение вашей задачи:
    https://docs.microsoft.com/ru-ru/dotnet/framework/...

    Если хотите коллекцию в коллекции и раскрывать по клику,
    Возьмите какой-нибудь более продвинутрый грид с группировкой.
    Или вот руководство как это сделать на стандартных элементах
    https://docs.microsoft.com/ru-ru/dotnet/framework/...
    Ответ написан
    Комментировать
  • Как убрать стандартное свечение у окна программы в WPF?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    За рамку стандартных окон отвечает ОС, а не WPF,
    но её можно изменить или убрать, читайте тут:
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Ответ написан
    1 комментарий
  • Как достать все элементы из wrappanel?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    Присвойте ресурс Background или стиль элементу ссылающийся на Background
    далее просто меняйте когда нужно цвет у ресурса
    Примерный код:

    App.xaml
    <Color x:Key="DecorateColor">#FF005087</Color>
    <SolidColorBrush x:Key="BackgroundBrush" Color="{DynamicResource DecorateColor}"/>


    элементы где меняем цвет, например внутри стиля
    <Border Background="{StaticResource BackgroundBrush}"/>


    изменение цвета ресурса
    Color decorateColor = Color.Color.FromArgb(255, 136, 0, 255);
    Application.Current.Resources["DecorateColor"] = decorateColor;


    Если использовать MVVM, то можно и через StaticResource решить.

    Но это подход "В лоб", более верным будет через состояние стиля, но это вам сначала изучить Trigger (для конкретно этого случая DataTrigger) и MVVM.
    Ответ написан
    Комментировать
  • Если ли .NET библиотека для конвертирования картинок из формата XAML Resource в обычные картинки png или jpg и обратно?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    есть такая возможность из коробки
    RenderTargetBitmap
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    любой XAML в Bitmap преобразовывает, только сохранить как картинку вам останется
    Ответ написан
    Комментировать
  • Как дебажить XAML?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    XAML - это язык разметки UI приложения. Не более. Там нет никакого исполнения кода, просто шаблон. Статика, Нельзя поставить точку останова.
    хотя XAML это тот же XML, а значит любой отладчик xml (если таковые существуют) применим.

    WPF подразумевает собой модель MVVM (XAML - слой View в MVVM)
    Если верно архитектуру проекта спроектировать то дебажить придется только ViewModel.

    А для облегчения жизни можно использовать Resharper или что-то подобное, облегчающее написание XAML кода.
    Ответ написан
    Комментировать
  • Как сделать чтобы фигура не вылазила за рамку при трансформациях?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    Или можно просто установить у бордера свойство обрезки контента
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Ответ написан
    Комментировать
  • WPF Toolkit не отображается в визуальном дизайнере?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    Никак.
    Точнее можно попытаться, но вообще нужно смирится с тем что визуальный редактор XAML в студии часто глючит, тормозит и иногда отображает неверно результат.
    Через годик практики визуальный редактор уже скорее мешает, смотря на код уже видно что и как.

    Как можно попытаться починить
    1) верный подход это использовать Blend for Visual Studio, там редактор поустойчивее + есть дополнительные панельки для стейтов анимаций и прочих плюх, вобщем студия для C# бленд для XAML
    2) иногда помогает перекомпилировать проект, сделав перед этим очистку (Clean Progect)
    3) установка свойств d:DesignHeight d:DesignWidth и остальных "d:"помогают редактору реже падать
    4) если при создании контрола было не учтено создателем DesignView, то как правило редактор просто падает.
    xceed те еще говнокодеры, и врят ли у них учтен визуальный редактор в коде контролов, глюки - неизбежны.
    из пакетов лучше всех с этим у Telerik, хотя тоже раз на раз.
    5) чем выше версия студии тем стабильнее редактор, это факт.
    6) чем больше размер проекта тем чаще падает и больше тормозит редактор - тоже факт, поэтому мы его просто отключаем например.

    А теперь секрет, как можно на самом деле делать XAML вкусно и с удовольствием
    Написав кусок XAML кода поздоровее запускаете проект без дебагера (CTRL+F5)
    Запускаете утилиту Snoop https://github.com/cplotts/snoopwpf
    И уже через нее смотрите все ли хорошо, на лету изменяя свойства и код добиваясь нужного результата - внося изменения в проект.
    Точно так же работают HTML верстальщики над сайтом, используя инстументы разработчика браузера через "F12"

    Подобная практика ускорит работу и позволит работать с реальным окном приложения как "что вижу, то и получаю".
    Ответ написан
    Комментировать
  • Готовый компонент для растягивания фигур?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    Базово - нет.
    Насколько я помню такие вещи делаются через Behavior's или addonners

    Вот старый пример бихейвора с использованием библиотеки System.Windows.Interactivity
    10rem.net/blog/2010/01/09/a-wpf-behavior-for-windo...

    Вот еще более старый, но вот тут на мой взгляд, более верный подход - через кастомный контрол и Аддоннеры, можно просто достать нужные куски кода себе.
    https://www.codeproject.com/Articles/22952/WPF-Dia...

    А вот просто документация, где все необходимые знания чтобы сделать такой же, но свой с блекджеком и дамами
    https://docs.microsoft.com/en-us/dotnet/framework/...
    Ответ написан
    Комментировать