使一组DataGrid列具有比例宽度的最佳/正确方法是什么(Width="\*"),但是它们的最小宽度至少是其内容的宽度?目前,如果我使用Width="*",那么列保持完全成比例,但内容如果列太薄,会被裁剪.如果我使用Width="Auto",那么列的大小完全符合它们的内容,但这使它们具有不同的大小.
我想要的实际上是两者的组合,例如Width="\*",MinWidth="Auto"当有额外的宽度时,列将全部空出到相等的宽度,但是当网格变小时,内容永远不会被裁剪.
可悲的是,MinWidth="Auto"不存在,所以我想我需要绑定列的MinWidth属性,但很难弄清楚我将它绑定到什么.
如何告诉WPF "MinWidth="列的最宽内容的宽度?
以下两种方法之间的主要区别是什么:
ThreadPool.QueueUserWorkItem
Clients objClient = new Clients();
List<Clients> objClientList = Clients.GetClientList();
foreach (var list in objClientList)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(SendFilesToClient), list);
}
Run Code Online (Sandbox Code Playgroud)
System.Threading.Tasks.Parallel ForEach
Clients objClient = new Clients();
List<Clients> objClientList = Clients.GetClientList();
Parallel.ForEach<Clients>(objClientList, list =>
{
SendFilesToClient(list);
});
Run Code Online (Sandbox Code Playgroud)
我是多线程新手,想知道在每种情况下会发生什么(在执行过程方面)每种方法的多线程水平是多少?帮助我想象这两个过程.
SendFilesToClient:从数据库获取数据,转换为Excel并将Excel文件发送到相应的客户端.
谢谢!
c# multithreading windows-services queueuserworkitem parallel.foreach