本文整理汇总了C#中SelectedItemCollection.AllItemsAre方法的典型用法代码示例。如果您正苦于以下问题:C# SelectedItemCollection.AllItemsAre方法的具体用法?C# SelectedItemCollection.AllItemsAre怎么用?C# SelectedItemCollection.AllItemsAre使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SelectedItemCollection
的用法示例。
在下文中一共展示了SelectedItemCollection.AllItemsAre方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (selection.AllItemsAre<IStorageLinkObject>())
{
StorageLinkConnection con = ((IStorageLinkObject)selection.First).StorageLinkConnection;
// check all selected SL items are on the same SL connection.
if (con != null && con.ConnectionState == StorageLinkConnectionState.Connected && selection.AllItemsAre<IStorageLinkObject>(s => s.StorageLinkConnection.Equals(con)))
{
return true;
}
}
return false;
}
示例2: ExecuteCore
protected override void ExecuteCore(SelectedItemCollection selection)
{
if (selection != null && selection.AllItemsAre<IXenObject>(x => x is Host || x is Pool))
MainWindowCommandInterface.ShowForm(typeof(BugToolWizard), selection.AsXenObjects<IXenObject>().ToArray());
else
MainWindowCommandInterface.ShowForm(typeof(BugToolWizard));
}
示例3: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (selection.AllItemsAre<VM_appliance>())
return selection.AtLeastOneXenObjectCan<VM_appliance>(CanStartAppliance);
if (selection.AllItemsAre<VM>())
{
var firstVm = (VM)selection.First;
if (firstVm.IsAssignedToVapp)
{
var firstVapp = firstVm.appliance;
if (selection.AsXenObjects<VM>().All(vm => vm.appliance != null && vm.appliance.opaque_ref == firstVapp.opaque_ref))
return CanStartAppliance(firstVm.Connection.Resolve(firstVapp));
}
}
return false;
}
示例4: ExecuteCore
protected override void ExecuteCore(SelectedItemCollection selection)
{
var appsToStart = new List<VM_appliance>();
if (selection.AllItemsAre<VM_appliance>())
{
appsToStart = (from IXenObject obj in selection.AsXenObjects()
let app = (VM_appliance)obj
where CanStartAppliance(app)
select app).ToList();
}
else if (selection.AllItemsAre<VM>())
{
var firstVm = (VM)selection.First;
appsToStart.Add(firstVm.Connection.Resolve(firstVm.appliance));
}
foreach (var app in appsToStart)
(new StartApplianceAction(app, false)).RunAsync();
}
示例5: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
Host hostAncestor = selection.HostAncestorFromConnection;
Pool poolAncestor = selection.PooAncestorFromConnection;
if ((poolAncestor != null || hostAncestor != null) //CA-61207: this check ensures there's no cross-pool selection
&& (selection.FirstIs<Pool>() || selection.FirstIs<Host>() || selection.FirstIsRealVM || selection.FirstIs<VM_appliance>()))
{
if (selection.AllItemsAre<VM>())
return selection.AtLeastOneXenObjectCan<VM>(CanExportVm);
if (selection.AllItemsAre<VM_appliance>())
{
if (selection.Count != 1)
return false;
var appliance = ((VM_appliance)selection.FirstAsXenObject);
return appliance.VMs.TrueForAll(vmRef =>
{
var vm = appliance.Connection.Resolve(vmRef);
return vm != null
&& CanExportVm(vm);
});
}
if ((hostAncestor != null && hostAncestor.enabled && hostAncestor.IsLive && selection[0].Connection.IsConnected)
|| (poolAncestor != null && Helpers.PoolHasEnabledHosts(poolAncestor)))
{
var vms = selection.FirstAsXenObject.Connection.Cache.VMs.Where(vm => vm.is_a_real_vm && CanExportVm(vm) && vm.Show(Properties.Settings.Default.ShowHiddenVMs)).ToList();
if (vms.Count > 0)
return vms.Any(CanExportVm);
}
}
return false;
}
示例6: ExecuteCore
protected override void ExecuteCore(SelectedItemCollection selection)
{
var dockerContainers = new List<DockerContainer>();
if (selection.AllItemsAre<DockerContainer>())
{
dockerContainers = (from IXenObject obj in selection.AsXenObjects()
let container = (DockerContainer)obj
where CanExecute(container)
select container).ToList();
}
foreach (var container in dockerContainers)
(new StartDockerContainerAction(container)).RunAsync();
}
示例7: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (selection.AllItemsAre<IStorageLinkObject>())
{
var connections = new List<StorageLinkConnection>();
foreach (IStorageLinkObject s in selection.AsXenObjects<IStorageLinkObject>())
{
if (s.StorageLinkConnection.ConnectionState != StorageLinkConnectionState.Connected)
{
return false;
}
}
return true;
}
return false;
}
示例8: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
// you can only remove a storagelink server from XC if there isn't an SR using it.
List<StorageLinkConnection> slCons = new List<StorageLinkConnection>();
if (selection.AllItemsAre<IStorageLinkObject>())
{
foreach (IStorageLinkObject s in selection.AsXenObjects())
{
if (!slCons.Contains(s.StorageLinkConnection))
{
slCons.Add(s.StorageLinkConnection);
}
}
}
return slCons.Count == 1;
}
示例9: IsValid
public override bool IsValid(SelectedItemCollection selection)
{
List<string> types = new List<string>();
if (selection.AllItemsAre<IXenObject>())
{
foreach (SelectedItem item in selection)
{
string name = item.XenObject.GetType().Name;
VM vm = item.XenObject as VM;
if (vm != null && vm.is_a_template)
{
name = vm.is_a_snapshot ? "snapshot" : "template";
}
if (!types.Contains(name))
{
types.Add(name);
}
}
}
if (types.Count > 1)
{
// if types only contains a mix of vms and templates then don't use this Builder. MixedVMsAndTemplates should be used instead.
types.Remove("VM");
types.Remove("template");
return types.Count > 0;
}
return false;
}
示例10: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
return selection.AllItemsAre<StorageLinkSystem>();
}
示例11: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (!selection.AllItemsAre<VM>())
{
return false;
}
IXenConnection connection = null;
bool atLeaseOneCanExecute = false;
foreach (SelectedItem item in selection)
{
VM vm = (VM)item.XenObject;
// all VMs must be on the same connection
if (connection != null && vm.Connection != connection)
{
return false;
}
if (CanExecute(item.XenObject as VM))
{
atLeaseOneCanExecute = true;
}
}
return atLeaseOneCanExecute;
}
示例12: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (!selection.AllItemsAre<Host>())
{
return false;
}
foreach (SelectedItem item in selection)
{
if (CanExecute((Host)item.XenObject))
{
return true;
}
}
return false;
}
示例13: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (!selection.AllItemsAre<Host>() || selection.Count > 1)
{
return false;
}
return CanExecute(selection.AsXenObjects<Host>().First());
}
示例14: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
if (selection.AllItemsAre<DockerContainer>())
return selection.AtLeastOneXenObjectCan<DockerContainer>(CanExecute);
return false;
}
示例15: CanExecuteCore
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
return selection.AllItemsAre<Host>() && selection.AtLeastOneXenObjectCan<Host>(CanExecute);
}