Чтобы стилизовать 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}" />
Надеюсь, это поможет!
ViewState загружается перед событием Page_Load. Если вы хотите, чтобы ваш элемент управления работал с ViewState, вам необходимо загрузить его и добавить на страницу перед этим событием - обычно в PreInit.
Ссылка на жизненный цикл находится здесь:
http://msdn.microsoft. com / en-us / library / ms178472.aspx? ppud = 4
Прочтите описание события Pre Load
, которое непосредственно предшествует загрузке страницы:
Используйте это событие, если вам нужно выполнить обработка на вашей странице или элементе управления перед событием Load.
Прежде чем экземпляр Page вызывает это событие, он загружает состояние просмотра для себя и всех элементов управления, , а затем обрабатывает любые данные обратной передачи, включенные в экземпляр Request.
Таким образом, ко времени предварительной загрузки уже слишком поздно. Также,