Tag: 虚拟化

无法在BIOS设置中启用Hyper-V

我是Windows Phone 8应用程序开发的新手。 我安装了SDK 8.0。 当我运行我的应用程序时,它显示一个错误,告诉我启用Hyper-V。 在搜索时,我发现这个MSDN文档在BIOS中有一个解决方案。 但是当进入我的BIOS设置时,则没有可用的选项。 有什么建议?

File.Exists(“”)和FileInfo之间存在什么区别

我在\ ProgramFiles(x86)\ MyAppFolder中有一个* .exe文件。 在x86应用程序中,我检查文件是否存在(64位系统)。 简单: bool fileExists = File.Exists(@”\ProgramFiles(x86)\MyAppFolder\Manager.exe”); 结果是:“fileExists == false”(文件确实存在)。 据我所知,这是虚拟化。 这里描述的问题很好。 但下一个代码: bool fileExists = new FileInfo(“\\Path”).Exists; “fileExists == true” 为什么在第一和第二种情况下结果不同? var controller = new ServiceController(Product.ServiceName); _manager.Enabled = controller.Status == ServiceControllerStatus.Running; var info = new DirectoryInfo(Assembly.GetExecutingAssembly().Location); var s = File.Exists(@”D:\TFS\GL_SOURCES\Teklynx_LPM\Dev\Server\Debug\Manager.exe”); string pathToManager = string.Empty; if (info.Parent != null) { var pathToModule […]

使用Data Virtualization,将ViewModel中的属性与View中ItemsControl的SelectedItem绑定的问题

关于WPF中的Data Virtualizatoin, WPF:Data Virtualization是一篇很好的文章。 使用它,Data Virtualization在我的代码中执行得很好,但是有一个问题,就是我无法将ViewModel中的属性与View中的ItemsControl的SelectedItem绑定。 如果一个数据项在数据加载时满足某些条件,则一个项目将在ViewModel中设置为属性,然后它将与View中的ItemsControl的SelectedItem绑定,但不会。 我的代码如下。 关于IItemsProvider和VirtualizationCollection的类型,请参阅WPF:Data Virtualization 。 到目前为止,我尝试过: 我敢肯定,如果没有使用Data Virtualization,那么Selected Item Binding会很酷。 VirtualizingCollection中的IndexOf(T item)方法始终返回-1。 考虑到这将是问题,我实现了IndexOf(T项)返回实际索引,但它不关心这个问题。 实现IItemsProvider的代码 public class WordViewModelProvider : IItemsProvider { private string _searchText = “some text”; public WordViewModel SelectedItem { get; private set; } #region IItemsProvider Members public int FetchCount() { lock (_words) { int count = (from word […]

WPF自定义布局/虚拟化

这就是我想用WPF实现的目标。 一个文本块作为标题和下面的按钮在一个wrappanel 。问题是,这需要滚动等我使用ItemsControl和绑定为每个组实现了这一点。 我有一个ItemsControl,它有一个stackpanel作为paneltemplate,它的itemtemplate是一个textblock和一个wrappanel。 它可以工作,但是当项目很多时,它在慢速intel gma + atom机器的实例化时很慢。 似乎渲染不是问题,而是创建可视树。 所以我唯一的赌注是创建一个带虚拟化的自定义面板我猜? 这就是我所做的。 http://pastebin.com/u8C7ddP0 以上解决方案在某些机器上很慢。 我正在寻找一种解决方案,它可以在慢速机器上创建最长100毫秒。 谢谢 UPDATE public class PreferenceCheckedConvertor : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var preference = values[0] as OrderItemPreference; var items = values[1] as ObservableCollection; var found = items.FirstOrDefault(item => item.Preference.Id == preference.Preference.Id); if (found […]

扩展选择模式,虚拟化和IsSelected绑定

似乎在扩展选择模式下IsSelected绑定是错误的。 看起来只有选择中的最后一项超出范围才能正确处理。 示范: 使用Control选择项目0和98 。 当选择94 (没有控制 !)时,选择计数器应为1 ,但是你会看到3 。 向上滚动显示只有一个(最后一个)选择超出范围的项目未被选中。 以下是mcve: XAML: CS: public class NotifyPropertyChanged : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged([CallerMemberName] string property = “”) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property)); } public class Item : NotifyPropertyChanged { bool _isSelected; public bool IsSelected { get { return _isSelected; } set { […]

WPF Listbox Virtualization创建DisconnectedItems

我正在尝试使用WPF ListBox创建Graph控件。 我创建了自己的Canvas,它来自VirtualizingPanel,我自己处理项目的实现和虚拟化。 然后将列表框的项面板设置为我的自定义虚拟化canvas。 我遇到的问题发生在以下场景中: 首先创建ListBox项目A. 列表框项目B在canvas上的项目A的右侧创建。 列表框项目A首先被虚拟化(通过将其平移到视图之外)。 ListBox项目B被虚拟化为第二个(再次通过将其平移到视图之外)。 将ListBox项目A和B置于视图中(即:实现它们) 使用Snoop,我检测到ListBox现在有3个项目,其中一个是直接位于ListBox项目B下面的“DisconnectedItem”。 是什么导致了这个“DisconnectedItem”的创建? 如果我首先虚拟化B,然后是A,则不会创建此项目。 我的理论是,虚拟化ListBox中其他项之前的项会导致子项断开连接。 使用包含数百个节点的图表时问题更加明显,因为当我平移时,我最终会收到数百个断开连接的项目。 以下是canvas代码的一部分: /// /// Arranges and virtualizes child element positionned explicitly. /// public class VirtualizingCanvas : VirtualizingPanel { (…) protected override Size MeasureOverride(Size constraint) { ItemsControl itemsOwner = ItemsControl.GetItemsOwner(this); // For some reason you have to “touch” the children collection in […]