Я имею, в окне, a Grid
это содержит a RadioButton
, a TextBox
и a Button
, каждый в столбце 0, 1, 2, соответственно. Им всем установили их высоты на автоматический.
Затем в другой части окна у меня есть другой Grid
с a Label
, a TextBox
и a Button
, в столбцах 0, 1, и 2. Высоты также установлены на автоматический.
Проблема, которую я имею, состоит в том, что высота первой сетки меньше, чем секундное. Я предполагаю, что это - потому что Label вынуждает второй быть более высоким. Как я могу сделать его так, чтобы первая сетка была так же высока как второе? Я пытался делать это:
Назовите текстовое поле во второй сетке SomeName.
В <Grid.ColumnDeclarations>
из первой Сетки я изменил Высоту от "автоматического" до "{Связывающий ElementName=SomeName, Path=Height}".
Но это не сделало то, что я хотел. Размер был тем же. Я предполагаю, что Привязка в основном становится "автоматической" и бросает его там, который заканчивает тем, что был тем же самым.
Кроме того, я ищу решение, которое не включает установку высот к фиксированному значению.
Представьте себе веб-форум. Атака XSS может быть, что я делаю пост с каким-то javascript. Когда вы перейдете на страницу, ваша веб-страница загрузит и запустит js и сделает то, что я скажу. Поскольку вы просмотрели страницу и, скорее всего, вошли в систему, мой javascript будет делать все, что у вас есть привилегии, такие как сделать публикацию, удалить ваши публикации, вставить спам, показать всплывающее окно и т.д.
Таким образом, реальная концепция с XSS - это сценарий, выполняемый в контексте вашего пользователя, который является повышением привилегий. Вы должны быть осторожны, чтобы в любом месте вашего приложения, которое получает пользовательские входные данные, скрывались любые сценарии и т.д. внутри него, чтобы гарантировать, что XSS не может быть выполнен.
Вы должны следить за вторичными атаками. Представьте, если я вложу вредоносный сценарий в свое имя пользователя. Это может перейти на веб-сайт без флажка, а затем записать обратно без флажка, но тогда любая страница, которая просматривается с моим именем пользователя на нем фактически будет выполнять вредоносный сценарий в контексте пользователя.
Переход от пользовательского ввода. Не катайте свой код, чтобы сделать это. Проверьте все, что происходит, и все выходит.
-121--2240759- Невозможно отобразить изображение и HTML в одном файле, так как для его интерпретации браузеры зависят от заголовка content-type
.
Заголовок типа содержимого
документа HTML обычно имеет значение text/html
, тогда как тип содержимого изображения - image/*
(заменить * на формат изображения). Можно распечатать данные изображения в HTML-документе, но, поскольку обозревателю поручено интерпретировать их как text/html
, а не как изображение, их содержимое будет искажено.
Необходимо связать тег < img >
с файлом PHP, как описано выше. Я не уверен, почему это проблема; это правильный путь, чтобы пойти по этому пути. Вы, конечно, можете обрезать изображение, манипулируя его размерами в HTML, но я не рекомендую.
Поместите две сетки в область общего размера и используйте SharedGroupGroup
, чтобы заблокировать высоты строк вместе:
<SomeContainer Grid.IsSharedSizeScope="True"> <!-- Could be the Window or some more nearby Panel -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="LabelAndRadioButtonGroup" />
</Grid.RowDefinitions>
<Label Grid.Row="0" />
</Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="LabelAndRadioButtonGroup" />
</Grid.RowDefinitions>
<RadioButton Grid.Row="0" />
</Grid>
</SomeContainer>
См. также Как совместно использовать свойства размера между сетками в MSDN.
Привязать к ActualHeight
, а не к свойству Height
:
<RowDefinition Height="{Binding ActualHeight, ElementName=otherTextBox}" />