我有一个List和一个Button.当Lists Count == 0时,我希望按钮Visibility为= false.
如何使用数据绑定执行此操作?
提前致谢,
添加
我已经问过这个问题,这样每次我在列表中添加或删除项目时,我都可以尝试避免在代码列表中检查Count.但如果没有解决方案,那么我将继续这样做.
我有一个DataSource
在我的控制这始终是一个List<T>
地方T
有继承IEntity
.
public class MyClass<T> where T : IEntity
{
public List<T> DataSource
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,显然你不能去做一个以下List<T>
的List<IEntity>
事情:
List<IEntity> wontWork = (List<IEntity>)this.DataSource;
Run Code Online (Sandbox Code Playgroud)
如何将DataSource作为List的列表IEntity
,同时仍然可以添加和删除项目DataSource
?即我可以执行以下操作,但从List中删除它不会从DataSource中删除:
public List<TOut> GetDataSourceCopyAsUnderlyingType<TOut>()
{
if (this.DataSource == null)
{
return new List<TOut>();
}
else
{
// Get the list and the enumerator
IList list = (IList)this.DataSource;
IEnumerator enumerator = list.GetEnumerator();
// Build the target list
List<TOut> targetList = new List<TOut>();
int …
Run Code Online (Sandbox Code Playgroud) 我有一个带有值列表框的管理页面.用户还可以通过一些jquery更改值的顺序,理论上我们将保存该顺序,它将在其他一些异国情调的语言环境中更改列表框中的显示顺序.
jquery运行正常.当用户保存时,我使用此代码来处理列表框:
index = 0;
foreach (ListItem item in lstProspectStatus.Items)
{
//Save that particular item's data, using index as the value for the
//display sequence field.
index++;
}
Run Code Online (Sandbox Code Playgroud)
问题是,Items集合正在返回填充控件时所在项目的顺序.客户端订单更改将被忽略.
对我来说,最好的方法是什么?
我在VB.NET(.NET2)应用程序中有以下泄漏情况:一个表单 - DetailTache
(TaskDetails) - 在我的MDI应用程序中没有垃圾收集不收集打开/关闭.
我做了以下分析根:
alt text http://lh6.ggpht.com/_1TPOP7DzY1E/S3Fg3ifizgI/AAAAAAAADC0/flRMOatEljs/s800/Capture2.png
任何想法如何修复这个泄漏?谢谢.
编辑:
从WinComboRowSelected事件的projet搜索结果.申请中有3个用法:
Event WinComboRowSelected(ByVal sender...
只有一个)RaiseEvent WinComboRowSelected(sender,
(3次提升)...e As Keolis.ctlWinCombo.WinCombo.WinComboRowSelectedEventArgs) Handles cmbProduit1.WinComboRowSelected
多个手柄).这个事件没有其他用法.
如果需要其他代码详情,请询问,我会发布.
我们在VS2005项目中有一个函数,它加载汇编并从中获取类型信息.但它并没有实例化这些类型.我们尝试加载2010年编译的一些组件,但不断得到以下异常.
"无法加载文件或程序集'2010ClassLibrary'或其依赖项之一.此程序集由比当前加载的运行时更新的运行时构建,无法加载."
反正有没有绕过这个?
以下是失败的集成测试的伪代码:
[测试]
void TestLogger()
// Init static logger
Logger.Init(pathToFile);
// Create five threads that will call LogMessages delegate
for i = 1 to 5
{
Thread aThread = new Thread(LogMessages)
aThread.Start(i);
}
// let threads complete their work
Thread.Sleep(30000);
/// read from log file and count the lines
int lineCount = GetLineCount();
// 5 threads, each logs 5 times = 25 lines in the log
Assert.Equal(25, lineCount);
static void LogMessages( object data )
// each thread will log five messages …
Run Code Online (Sandbox Code Playgroud) 如果我进行.NET 4.0 API调用并且客户只安装了.NET 2.0,我的EXE会工作吗?我假设没有 - 绝对没有.但我想再次确认并指出我的客户是/否.
背景......我来自Linux/PHP世界.我的客户端在前端使用Windows C#应用程序,在后端使用Linux/PHP.他让我调查这个问题.
我想我不明白Type.IsByRef
.NET的属性应该表明什么.我认为它应该为引用类型返回true而对值类型返回false,因此与Type.IsValueType
属性相反.我不能让它为显然是引用类型的类型返回true.这是一个例子:
using System.Text;
public class Program
{
static void Main(string[] args)
{
try
{
int i = 0;
Console.WriteLine(i.GetType().IsByRef); // returns false - OK
Exception e = new Exception();
Console.WriteLine(e.GetType().IsByRef); // returns false - ??
StringBuilder sb = new StringBuilder();
Console.WriteLine(sb.GetType().IsByRef); // returns false - ??
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
Console.ReadKey(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
.net-2.0 ×10
c# ×8
.net ×5
list ×2
winforms ×2
.net-4.0 ×1
asp.net ×1
c#-2.0 ×1
c#-4.0 ×1
casting ×1
data-binding ×1
generics ×1
ienumerable ×1
listbox ×1
memory-leaks ×1
reflection ×1
vb.net ×1