标签: wpfdatagrid

单击DataGridCheckBoxColumn的事件

我有一个DataGrid带有a的WPF表单DataGridCheckBoxColumn,但我没有找到任何点击事件,检查并取消选中它...

这些活动是否适用于DataGridCheckBoxColumn?如果没有,请建议我可以使用的一些解决方法.

wpf events datagrid wpfdatagrid

19
推荐指数
2
解决办法
3万
查看次数

WPF横向DataGrid

我想有一个水平方向的WPF DataGrid,有没有人知道解决方案?

wpf datagrid orientation wpfdatagrid

19
推荐指数
3
解决办法
2万
查看次数

如何使用DataGrid.CanUserAddRows = true的工厂

我想使用DataGrid.CanUserAddRows = true功能.不幸的是,它似乎只适用于具有默认构造函数的具体类.我的业务对象集合不提供默认构造函数.

我正在寻找一种方法来注册一个知道如何为DataGrid创建对象的工厂.我看了一下DataGrid和ListCollectionView,但它们似乎都不支持我的场景.

data-binding wpf datagrid factory wpfdatagrid

19
推荐指数
3
解决办法
4976
查看次数

如何将数据网格行的背景绑定到特定颜色?

我有一个可观察的集合绑定到数据网格.我还在视图模型中有一个color属性,我想将数据网格中每一行的背景绑定到vm上的color属性.

data-binding wpf mvvm wpfdatagrid

19
推荐指数
1
解决办法
2万
查看次数

获取WPF数据网格上下文菜单单击"行"

我有一个WPF DataGrid

<DataGrid AutoGenerateColumns="False"  Name="dataGrid1"  IsReadOnly="True" >
<DataGrid.Columns>
    <DataGridTextColumn Header="Site" Binding="{Binding Site}" Width="150" />
    <DataGridTextColumn Header="Subject" Binding="{Binding Subject}" Width="310" />
</DataGrid.Columns>
<DataGrid.ContextMenu>
    <ContextMenu>
        <MenuItem Header="Delete" Click="Context_Delete">
            <MenuItem.Icon>
                <Image Width="12" Height="12" Source="Images/Delete.png" />
            </MenuItem.Icon>
        </MenuItem>
    </ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

我有点击事件处理程序:

private void Context_Delete(object sender, System.EventArgs e)  { }
Run Code Online (Sandbox Code Playgroud)

如何在单击之前获取上下文菜单所在的行?该sender对象是System.Windows.Controls.MenuItem,不是DataGridRow.如何获取DataGridRow单击上下文菜单的位置.(我DataGrid.ItemSource在代码后面设置文件.)

c# wpf wpfdatagrid wpf-4.0

19
推荐指数
2
解决办法
3万
查看次数

DataGrid的CellEditingTemplate并专注于编辑模式

DataGrid当一个列定制供应两者CellTemplate和时,我遇到了WPFToolkit的问题CellEditingTemplate.如果你看一下下面,你会看到我的编辑模板有一个CheckBox.在功能意义上一切都很好但是当点击F2来编辑单元格时,还必须点击TAB才能CheckBox获得焦点.理想情况下,人们会点击F2和SPACE来切换值.目前,必须打F2,TAB,SPACE.我试过设置TabIndex无济于事.我的想法已经不多了.

<WPFToolkit:DataGridTemplateColumn Header="Turn"
                                   MinWidth="60">
    <WPFToolkit:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Image Height="16">
                <Image.Style>
                    <Style TargetType="{x:Type Image}">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding CanTurn}" Value="True">
                                <Setter Property="Source" Value="/Images/16/Tick.png" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </Image.Style>
            </Image>
        </DataTemplate>
    </WPFToolkit:DataGridTemplateColumn.CellTemplate>

    <WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding Path=CanTurn}" HorizontalAlignment="Center" HorizontalContentAlignment="Center" />
        </DataTemplate>
    </WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
</WPFToolkit:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml wpftoolkit wpfdatagrid

18
推荐指数
2
解决办法
2万
查看次数

DataGridCheckboxColumn双向绑定

我正在使用.NET 3.5中的WPF工具包中的DataGrid.

我有一个datagrid列绑定到我的源对象的布尔属性.

该复选框正确调用boolean的属性get访问器.

但是,在选中或取消选中该框时,将调用get而不是set.

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Object,  Source={StaticResource model}, Mode=TwoWay}">
        <DataGrid.Columns>
            <DataGridCheckBoxColumn Binding="{Binding BoolProperty, mode=TwoWay}"/>                
        </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

当我使用带有Checkbox的DataGridTemplateColumn时,属性设置正确,但是创建一个漂亮的布局会更复杂.

<DataGridTemplateColumn>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding BoolProperty, Mode=TwoWay}"/>                            
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

使用DataGridCheckBoxColumn我做错了什么?

wpf xaml datagrid wpfdatagrid .net-3.5

18
推荐指数
4
解决办法
4万
查看次数

WPF根据条件隐藏数据网格中的行

我需要根据datagrid中的参数和值隐藏datagrid中的行.我想要做这样的事情;

foreach (System.Data.DataRowView dr in myDataGrid.ItemsSource)
{
   //Logic to determine if Row should be hidden
   if (hideRow == "Yes")
   {
      //Hide row code
   }
}
Run Code Online (Sandbox Code Playgroud)

我只是无法想象如何实际隐藏行.请注意我不想从数据网格或项目源中删除行.

c# wpf datagrid wpfdatagrid

17
推荐指数
2
解决办法
2万
查看次数

将Datagrid.SelectedItems集合转换为List <T>

我有这样的课

public class Foo
{
    public string prop1 {get;set;}
    public string prop1 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

和一个带有a的视图模型List<Foo>,这个列表被用作Bind一个DataGrid,然后在代码隐藏中我需要获取 Datagrid.SelectedItems集合并将其转换为List<Foo>

我尝试过的事情:

List<Foo> SelectedItemsList= (List<Foo>)DataGrid.SelectedItems;
// OR
object p = DataGrid.SelectedItems;
List<Foo> SelectedItemsList= ((IList)p).Cast<Foo>().ToList();
Run Code Online (Sandbox Code Playgroud)

所有这些方式编译但在运行时抛出异常.

施放它的正确方法是什么?

注意:基本类型DataGrid是这ObservableCollection是否有所不同?

c# wpf datagrid casting wpfdatagrid

16
推荐指数
1
解决办法
2万
查看次数

WPF DataGrid在ItemsSource更新时如何获取

当DataGrid的源更新时会触发哪个事件?我已经尝试过DataContextChanged和SourceUpdated,但它从未解决过.

其实我需要一个简单的事情.我想,如果有新行,请将GridView的滚动条向下滚动到底部以查看它是什么.

wpf events datagridview wpf-controls wpfdatagrid

15
推荐指数
2
解决办法
3万
查看次数