草庐IT

虚拟互联网

全部标签

c# - 带有虚拟化的 ScrollIntoView 和 ListView

我有ListView(虚拟化默认开启),ItemsSource绑定(bind)到ObservableCollection属性。填充数据时(设置属性并发出通知)我在分析器中看到2个布局峰值,第二个发生在调用listView.ScrollIntoView()之后。我的理解是:ListView通过绑定(bind)加载数据并为屏幕上的项目创建ListViewItem,从索引0开始。然后我调用listView.ScrollIntoView()。现在ListView第二次执行此操作(创建ListViewItems)。如何防止去虚拟化发生两次(我不希望在ScrollIntoView发生之前发生一次)

c# - 大型可滚动数据 SL4 的虚拟化性能问题

问题:在可滚动区域显示大量数据会带来糟糕的性能和/或用户体验。尝试过:主要是在ListBox中设置一个DataTemplate以显示填充数据的网格,其中VirtualizationMode设置为Recycle并且在ListBoxiteself上设置了固定高度。类似于下面的示例。ContentControl将引入标准从另一个View格式化填充项的整体布局,其中包含大约20个静态文本block和20个数据绑定(bind)文本block。这很好用,并将初始负载减半。但是,现在的问题是我需要高度不是固定大小的能力,因此它会占用其父项中的可用空间,甚至可以调整大小。感谢@DanFox我发现您必须

c# - 虚拟扩展方法?

我有一个在客户端应用程序和服务器应用程序中使用的类。在服务器应用程序中,我通过扩展方法向类添加了一些功能。效果很好。现在我想要更多:我的类(B)继承自另一个类(A)。我想将一个虚函数附加到A(比方说Execute()),然后在B中实现该函数。但仅限于在服务器中。Execute()方法需要做一些只能在服务器上做的事情,使用只有服务器知道的类型。有很多类型像B一样从A继承,我想为它们中的每一个实现Execute()。我希望我可以为A添加一个虚拟扩展方法,但这个想法似乎行不通。我正在寻找解决这个问题的最优雅的方法,有或没有扩展方法。 最佳答案

c# - 为什么我不能像在方法上那样在类变量上使用虚拟/覆盖?

在下面的示例中,我可以在inherited类中创建一个virtual方法Show(),然后override它在继承类中。我想用protected类变量prefix做同样的事情,但我得到了错误:Themodifier'virtual'isnotvalidforthisitem但是因为我不能在我的类中将这个变量定义为virtual/override,所以我得到了编译器警告:TestOverride234355.SecondaryTransaction.prefix'hidesinheritedmember'TestOverride234355.Transaction.prefix'.Use

c# - 显式接口(interface)实现不能是虚拟的

郑重声明,我已经看过这个connectitem但我真的不明白支持这个会有什么问题。假设我有以下代码:publicinterfaceIInterface{voidMethod();}publicclassBase:IInterface{virtualvoidIInterface.Method(){thrownewNotImplementedException();}}虚拟标识符有什么问题?使用virtual修饰符可以override指示基类中有不同的实现。我现在可以通过删除虚拟方法并像这样创建派生类来使其工作:publicclassDerived:IInterface{voidIInte

c# - 如何在 Windows Phone 8 应用程序中检查互联网连接可用性

我正在开发WindowsPhone8应用程序。在此应用程序中,我必须连接到服务器才能获取数据。所以在连接到服务器之前,我想检查设备是否可以连接到互联网。如果互联网连接可用,那么只有我会从服务器获取数据,否则我会显示错误消息。请告诉我如何在WindowsPhone8中执行此操作。 最佳答案 NetworkInterface.GetIsNetworkAvailable()返回NIC的状态。根据状态,您可以通过以下方式询问是否已建立连接:ConnectionProfile-使用enumNetworkConnectivityLevel的Wi

c# - 反射说接口(interface)方法在实现类型中是虚拟的,而实际上它们不是?

我在单元测试中有以下代码publicboolTestMethodsOf(){varimpl=typeof(T);varvalid=true;foreach(varifaceinimpl.GetInterfaces().Where(i=>typeof(I).IsAssignableFrom(i))){varmembers=iface.GetMethods();foreach(varmemberinmembers){Trace.Write("Checkingifmethod"+iface.Name+"."+member.Name+"isvirtual...");varimplMember=

c# - 忽略虚拟属性

我们有带EntityFramework的MVC4项目用于存储。对于我们的测试,我们最近开始使用Autofixture,它真的很棒。我们的模型图非常深,通常通过AutoFixture创建一个对象会创建整个图:Person->Team->Departments->Company->Contracts->....等问题是时间。创建对象最多需要一秒钟。这会导致测试缓慢。我发现自己经常做的事情是这样的:varcontract=fixture.Build().Without(c=>c.Person).Without(c=>c.PersonContractTemplate).Without(c=>c

c# - WPF 列表框虚拟化创建 DisconnectedItems

我正在尝试使用WPF列表框创建图形控件。我创建了自己的Canvas,它派生自VirtualizingPanel,我自己处理项目的实现和虚拟化。然后将列表框的项目面板设置为我的自定义虚拟Canvas。我遇到的问题发生在以下场景:首先创建列表框项A。ListBox项目B创建在Canvas上项目A的右侧。ListBoxItemA首先被虚拟化(通过将其平移出View)。ListBoxItemB第二个被虚拟化(再次通过将其平移到View之外)。将ListBox项A和B置于View中(即:实现它们)使用Snoop,我检测到ListBox现在有3个项目,其中之一是“DisconnectedItem”

c# - 确定互联网连接是否可用

我知道我不是第一个问这个问题的人:我如何知道我的申请是否在线?我找到了这篇文章:StackOverflow.我想用C#和.NET3.5来完成。建议定期对资源执行ping操作。我对这个建议不是很满意。我宁愿检测网络变化,然后ping我的服务以检查它是否在线。.NET为此提供了两个事件:NetworkChange.NetworkAvailabilityChangedNetworkChange.NetworkAddressChanged第一个事件听起来不错,但只有在最后一个在线的网卡离线时才会触发。我有几个由VMWare安装的虚拟网卡,它们始终在线。第二个事件有效,但在插入网络电缆和事件之间