Как установить Стиль окна WPF по умолчанию в app.xaml?

** Предупреждение: подход, описанный в этом ответе, применим только к очень конкретным сценариям и не является безопасным, поскольку атаки SQL-инъекции не только полагаются на возможность вставлять X=Y. **

Если злоумышленники пытаются взломать форму с помощью переменной PHP $_GET или с помощью строки запроса URL, вы сможете поймать их, если они не защищены.

RewriteCond %{QUERY_STRING} ([0-9]+)=([0-9]+)
RewriteRule ^(.*) ^/track.php

Поскольку 1=1, 2=2, 1=2, 2=1, 1+1=2 и т. д. ... являются распространенными вопросами к базе данных SQL злоумышленника. Возможно, он также используется многими хакерскими приложениями.

Но вы должны быть осторожны, чтобы не переписывать безопасный запрос с вашего сайта. Вышеупомянутый код дает вам возможность переписать или перенаправить (зависит от вас) эту динамическую строку запроса, зависящую от хакерства, на страницу, в которой будет храниться IP-адрес злоумышленника или EVEN THEIR COOKIES, история , браузера или любой другой конфиденциальной информации, поэтому вы можете иметь дело с ними позже, запретив их учетную запись или контактные органы.

63
задан Dave Clemmer 15 August 2011 в 18:06
поделиться

2 ответа

Для прибавления к тому, что говорит Ray:

Для Стилей, или необходимо предоставить Ключ/ИДЕНТИФИКАТОР или определить TargetType.

, Если FrameworkElement не имеет явно указанного Стиля, он будет всегда искать ресурс Стиля, с помощью его собственного типа в качестве ключа
- Программирующий WPF (Продает, Griffith)

, Если Вы предоставите TargetType, всем экземплярам того типа применят стиль. Однако производные типы не будут... он казаться. <Style TargetType="{x:Type Window}"> не будет работать на все Ваши пользовательские деривации/окна. <Style TargetType="{x:Type local:MyWindow}"> будет относиться только к MyWindow. Таким образом, опции

  • Использование Включенный Стиль, который Вы определяете как Свойство стиля [1 114] каждый окно, Вы хотите применить стиль. Разработчик покажет стилизованное окно.

.

    <Application.Resources>
        <Style x:Key="MyWindowStyle">
            <Setter Property="Control.Background" Value="PaleGreen"/>
            <Setter Property="Window.Title" Value="Styled Window"/>
        </Style>
    </Application.Resources> ...
    <Window x:Class="MyNS.MyWindow" Style="{StaticResource MyWindowStyleKey}">  ...
  • Или Вы могли произойти из пользовательского класса BaseWindow (который имеет его собственные причуды ), где Вы устанавливаете Свойство стиля во время этапа Ctor/Initialization/Load однажды. Всем Деривациям тогда автоматически применили бы стиль. , Но разработчик не заметит Ваш стиль , необходимо запустить приложение, чтобы видеть, что стиль применяется.. Я предполагаю, что разработчик просто выполняет InitializeComponent (который является автоматическим / разработчик генерировал код), таким образом, XAML применяется, но не пользовательский код - позади.

, Таким образом, я сказал бы, явно определенные стили являются наименьшим количеством работы. Можно так или иначе изменить аспекты Стиля централизованно.

46
ответ дан Gishu 24 November 2019 в 16:27
поделиться

Разработчик не работает, потому что Вы определяете DynamicResource. Измените это на StaticResource, и все будут хорошо.

Для применения ко всем окнам необходимо удалить x:Key из стиля. Установка TargetType неявно устанавливает x:Key на то, что находится в TargetType. Однако в моих тестах, это не работает, таким образом, я изучаю его.

, Если я установил TargetType на x:Type TextBlock, разработчик работает отлично, это просто, кажется, Окно, которое показывает различное поведение.

8
ответ дан Ray Booysen 24 November 2019 в 16:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: