ASP.NET: Состояние отображения и программно добавляющие пользовательские элементы управления

Чтобы стилизовать ContextMenu для всех TextBox, я бы сделал что-то вроде следующего:

Сначала, в разделе ресурсов, добавьте ContextMenu, которое вы планируете использовать в качестве стандартного ContextMenu, в текстовое поле.
например,

<ContextMenu x:Key="TextBoxContextMenu" Background="White">
  <MenuItem Command="ApplicationCommands.Copy" />
  <MenuItem Command="ApplicationCommands.Cut" />
  <MenuItem Command="ApplicationCommands.Paste" />
</ContextMenu>

Во-вторых, создайте стиль для ваших TextBox, который использует ресурс контекстного меню:

<Style TargetType="{x:Type TextBox}">
  <Setter Property="ContextMenu" Value="{StaticResource TextBoxContextMenu}" />
</Style>

Наконец, используйте текстовое поле как обычно:

<TextBox />

Если вместо этого вы хотите применить это контекстное меню только к некоторым вашим текстовым полям, не создавайте стиль выше и добавьте к разметке TextBox следующее:

<TextBox ContextMenu="{StaticResource TextBoxContextMenu}" />

Надеюсь, это поможет!

8
задан burnt1ce 4 November 2009 в 15:19
поделиться

1 ответ

ViewState загружается перед событием Page_Load. Если вы хотите, чтобы ваш элемент управления работал с ViewState, вам необходимо загрузить его и добавить на страницу перед этим событием - обычно в PreInit.

Ссылка на жизненный цикл находится здесь:
http://msdn.microsoft. com / en-us / library / ms178472.aspx? ppud = 4

Прочтите описание события Pre Load , которое непосредственно предшествует загрузке страницы:

Используйте это событие, если вам нужно выполнить обработка на вашей странице или элементе управления перед событием Load.

Прежде чем экземпляр Page вызывает это событие, он загружает состояние просмотра для себя и всех элементов управления, , а затем обрабатывает любые данные обратной передачи, включенные в экземпляр Request.

Таким образом, ко времени предварительной загрузки уже слишком поздно. Также,

11
ответ дан 5 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

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