草庐IT

DataGrid1

全部标签

c# - WPF DataGrid 的行数?

如何计算或返回DataGrid行的最后一个索引?显然没有DataGrid.Count()属性。我到处搜索,找不到答案。我可以创建一个变量并使用i++作为Row计数的计数器,但是DataGrid没有内置的解决方案? 最佳答案 您可以使用DataGrid.Items.Count获取项目数。 关于c#-WPFDataGrid的行数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/554

c# - 如何使用 MVVM 自动隐藏 WPF 中的 DataGrid 列?

这个问题在这里已经有了答案:BindingVisibilityforDataGridColumninWPF(3个答案)关闭去年。使用MVVM(无代码隐藏),我想在选择时隐藏我的DataGrid列,我有以下代码:C#代码是:varssid=newSSIDPropertyClass();ssid._networkID=SSID.Count+1;ssid._ssid=EnteredSSIDAC;ssid._vlan=VlanSSID;if(ACSelectedSecurityType=="StaticWEP"){ssid._authenticationMode=ACSelectedSecur

c# - 默认情况下停止 Datagrid 选择第一行

我正在使用Wpf工具包数据网格。每当我将Itemssource分配给它时,它的第一个项目就会被选中并调用它的selectionChanged事件。我怎样才能阻止它默认选择任何行? 最佳答案 检查是否设置了IsSynchronizedWithCurrentItem="True"并且您要求它设置相同?将此属性设置为true时,第一项的选择是默认行为。 关于c#-默认情况下停止Datagrid选择第一行,我们在StackOverflow上找到一个类似的问题: htt

c# - 如何调整 WPF DataGrid 的大小以适应其内容?

宗旨我想为DataGrid(标准,来自WPF)设置这样的大小,以便所有单元格(文本)完全可见。我有一个带有DockPanel的窗口,其中包含DataGrid,因此当我调整窗口大小时,所有嵌套的小部件(DockPanel和DataGrid)都会相应地调整大小。示例(edit-1)假设您有一个100像素宽的窗口,并且您有一个只有一列的DataGrid,该单元格是“thequickbrownfox...”(400像素宽)。因此,DataGrid的大小应调整为400像素(可能更多,因为有填充),Window的大小也应调整为400像素(也更多,因为有填充)。我没有找到任何标准方法来做到这一点(A

c# - 如何设置 DataGridColumn 的宽度以适应内容 ("Auto"),但完全填充 MVVM 中 DataGrid 的可用空间?

我有一个包含一些数据的WPFDataGrid。我想设置列的宽度,使内容适合并且永远不会被裁剪(相反,水平滚动条应该可见)。此外,我希望DataGrid填充整个可用位置(我正在使用DockPanel)。我正在使用以下代码(已简化):这显然不适用于Width="Auto",因为它总是看起来像这样:这显然很难看。我想选择整行,或者选择列来填充整个宽度,这会更好,但正如您所看到的,这是行不通的。如果我改用Width="*",列的内容会被裁剪,这对我来说更糟。我找到了一个similarquestionhere,并在那里发布了解决方法。这可能行得通,但我正在使用MVVM模式,因此ItemsSour

c# - DataGrid 列宽不会自动更新

当Change的值更新时,其列不会更新以适应新值。因此该列保持太小并且值被裁剪。有什么想法吗? 最佳答案 DataGrid会随着数据变长而增加列大小以适应,但它不会在数据长度减少时自动减小列大小。在您的示例中,您右对齐“更改”列,并将其余空间用于“名称”列。现在,当“更改”属性增长到足以增加列的宽度时,“名称”列拒绝缩小以适应,因此您必须自己强制刷新。以下步骤应该可以为您完成此操作(我提供了一个示例应用程序来演示):1)在您的DataGridTextColumn绑定(bind)中(除*大小的列外)设置NotifyTargetUpda

c# - 如何基于默认的 DataGrid 样式创建样式?

我有扩展DataGrid的自定义控件。它称为ExtendedDataGrid。我想为ExtendedDataGrid提供与DataGrid相同的样式,只是它更改了模板。我试过这样的事情:...但是它说找不到资源。所以我尝试:...但它也不起作用...那么我该怎么办? 最佳答案 好吧,谜团已经解开了:)我上面的第一个代码确实有效:...我认为它不起作用,因为VS(或Resharper)在我的代码中显示错误,说找不到资源......VS(或Resharper)中的错误:( 关于c#-如何基于

c# - 我希望 wpf DataGrid 的其余部分中的数据是只读的,只有新行应该是可编辑的

我已经设法让DataGrid显示用于添加新项目的新行。我现在面临的问题是我希望wpfDataGrid其余部分的数据是只读的,只有新行应该是可编辑的。目前这是我的DataGrid的样子。但由于我将列保持为只读,所以新行也添加为只读,这是我不想要的。 最佳答案 试试这个MSDNblog另外,试试下面的例子:Xaml:CS://////InteractionlogicforMainWindow.xaml///publicpartialclassMainWindow:Window{publicMainWindow(){InitializeC

c# - DataGrid.ItemsSource 更改时如何引发事件

我是WPF的新手,我正在使用DataGrids,我需要知道属性ItemsSource何时更改。例如,我需要在执行此指令时引发一个事件:dataGrid.ItemsSource=table.DefaultView;或者添加一行时。我试过使用这段代码:CollectionViewmyCollectionView=(CollectionView)CollectionViewSource.GetDefaultView(myGrid.Items);((INotifyCollectionChanged)myCollectionView).CollectionChanged+=newNotifyCo

c# - 如何卡住 WPF DataGrid 的第一列

这个问题在这里已经有了答案:Freezingcolumnsinwpfdatagrid(1个回答)关闭9年前。我有一个WPFDataGrid..我想在水平滚动时卡住WPFDataGrid的第一列..我的代码是: