[]
活字格内部编辑命令的对话窗口。
public interface ICommandWindow : IWindow
public partial class MenuItemsEditor : UserControl
{
IBuilderContext _builderContext;
public MenuItemsEditor(IBuilderContext builderContext)
{
InitializeComponent();
_builderContext = builderContext;
}
private void SetCommandListHyperlink_Click(object sender, RoutedEventArgs e)
{
var window = _builderContext.GetCommandWindow(CommandScope.Cell);
window.InitCommandEvent += () =>
{
return ViewModel.CommandList; //基于数据层的命令列表初始化命令对话窗口。
}
window.UpdateCommandEvent += (sender2, commandList) =>
{
ViewModel.CommandList = commandList; //提交命令设置到数据层。
}
window.Closed += (sender2, e2) =>
{
_builderContext.ShowParentDialog(this); //关闭窗口之后打开父窗口;
}
//由于命令设置过程中可能会引用单元格,所以这里暂时先隐藏父窗口;
_builderContext.HideParentDialog(this);
window.ShowDialog();
}
}
初始化对话框中的命令列表。
event Func<List<Command>> InitCommandEvent
类型 | 描述 |
---|---|
System.Func<TResult><System.Collections.Generic.List<T><Command>> |
更新命令数据,即将对话框中的命令列表更新会数据层。
event EventHandler<List<Command>> UpdateCommandEvent
类型 | 描述 |
---|---|
System.EventHandler<TEventArgs><System.Collections.Generic.List<T><Command>> |