我几乎从Ext.net网站上的EditorPanel示例中复制了示例代码。除了标签之外,我把它放在一个窗口里面。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="News.ascx.cs" Inherits="QMSExt2.UserControls.News" %>
<ext:Window runat="server" ID="wNews" Modal="false" Title="News" Hidden="false"
Width="550" Height="400" BodyStyle="background-color: #fff;" Padding="5"
Collapsible="true" Icon="PageSave" Frame="true" MinHeight="100" MaxHeight="600"
AutoScroll="True" AutoRender="true">
<Items>
<ext:Panel runat="server" Title="Editor Panel">
<Items>
<ext:Panel
ID="Panel1"
runat="server"
Width="610"
Height="300"
Html="Content"
BodyPadding="6"
Title="Editor panel" Layout="Anchor">
<TopBar>
<ext:Toolbar runat="server">
<Items>
<ext:Button
ID="Button1"
runat="server"
Text="Edit"
Icon="Pencil">
<Listeners>
<Click Handler="
this.setDisabled(true);
#{Button2}.setDisabled(false);
#{PanelEditor}.startEdit(#{Panel1}.getBody());
" />
</Listeners>
</ext:Button>
<ext:Button
ID="Button2"
runat="server"
Text="Save"
Icon="Disk"
Disabled="true">
<Listeners>
<Click Handler="
this.setDisabled(true);
#{Button1}.setDisabled(false);
#{PanelEditor}.completeEdit();
" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
</ext:Panel>
<ext:Editor
ID="PanelEditor"
runat="server"
HtmlDecode="true"
UseHtml="true"
AutoSize="true"
Alignment="tl"
AllowBlur="false"
Shadow="False">
<AutoSizeConfig Width="BoundEl" Height="BoundEl" />
<Field>
<ext:HtmlEditor ID="HtmlEditor1" runat="server" />
</Field>
<Listeners>
<StartEdit Handler="
this.field.iframeEl.setHeight(this.field.getHeight() - this.field.getToolbar().getHeight() - 4);
this.field.textareaEl.setHeight(this.field.getHeight() - this.field.getToolbar().getHeight() - 4);"
Delay="10" />
</Listeners>
</ext:Editor>
</Items>
</ext:Panel>
</Items>
</ext:Window>
我单击按钮进行编辑,然后显示编辑器。
我向上移动窗口并离开,这发生了
我将它移向浏览器窗口的左上角,这就是结果
控件直接加载到页面的表单标记内
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default2.aspx.cs" Inherits="QMSExt2.Default2" %>
<%@ Register Src="~/UserControls/News.ascx" TagPrefix="uc1" TagName="News" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ext:ResourceManager ID="rmMaster" runat="server" />
<uc1:News runat="server" id="wNews" />
</div>
</form>
</body>
</html>
我希望能与其他所有事情一起移动......
答案 0 :(得分:0)
一个Window有一个Move事件。它在移动窗口后触发。您可以收听该事件并重新定位编辑器。
或简短的解决方案 - 完成并重新开始编辑。
<Move Handler="if (#{PanelEditor}.editing) {
#{PanelEditor}.completeEdit();
#{PanelEditor}.startEdit(#{Panel1}.getBody());
}"
Delay ="1" />