为了账号安全,请及时绑定邮箱和手机立即绑定

在 WPF 中的 DataGrid 中添加按钮

在 WPF 中的 DataGrid 中添加按钮

C#
慕容708150 2021-11-21 15:47:27
我想问一下如何在WPF中将a添加Button到aDataGrid中。这是我DataGrid在 XAML 中的:<DataGrid Name="DgData"  HorizontalAlignment="Left" Height="306" Margin="10,119,0,0" VerticalAlignment="Top" Width="637" Background="White">        <DataGrid.RowStyle>            <Style TargetType="DataGridRow">                <Setter Property="IsEnabled" Value="{Binding RelativeSource={RelativeSource Self},Path=IsNewItem,Mode=OneWay}" />            </Style>        </DataGrid.RowStyle>        <DataGrid.Columns>            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Id" IsReadOnly="True" Visibility="Hidden"/>            <DataGridTextColumn Header="Datum" Binding="{Binding Date}" IsReadOnly="True" Width="100" CanUserResize="False"/>            <DataGridTextColumn Header="Doménové jméno" Binding="{Binding DomainName}" IsReadOnly="True" Width="105" CanUserResize="False"/>            <DataGridTextColumn Header="Druh" Binding="{Binding Relevance}" IsReadOnly="True" Width="65" CanUserResize="False"/>            <DataGridTextColumn Header="Kategorie" Binding="{Binding DomainName}" IsReadOnly="True" Width="65" CanUserResize="False"/>            <DataGridTextColumn Header="Popis" Binding="{Binding Content}" IsReadOnly="True" Width="200" CanUserResize="False"/>            <DataGridTemplateColumn MinWidth="100" Header="Poznámky" CanUserSort="True" CanUserResize="False">                <DataGridTemplateColumn.CellTemplate>                    <DataTemplate>                        <Button Name="BtnShowNotes" IsEnabled="True" Click="BtnShowNotes_OnClick">Zobrazit</Button>                    </DataTemplate>                </DataGridTemplateColumn.CellTemplate>            </DataGridTemplateColumn>        </DataGrid.Columns>    </DataGrid>这些是资源管理器中该按钮 (TemplateColumn) 的属性:如何添加Button将在此列中的DataGrid?这是我当前使用 WPF 制作的应用程序:请注意,按钮显示为 !(IsEnabled)。这是同一个应用程序,但使用 WinForms 制作:这里的按钮是可点击的,所以我可以通过点击它来调用任何操作。
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

您RowStyle将IsEnabled整行的属性设置为false。删除这个,Button应该启用:


<DataGrid Name="DgData"  HorizontalAlignment="Left" Height="306" Margin="10,119,0,0" VerticalAlignment="Top" Width="637" Background="White">

    <DataGrid.Columns>

        <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Id" IsReadOnly="True" Visibility="Hidden"/>

        <DataGridTextColumn Header="Datum" Binding="{Binding Date}" IsReadOnly="True" Width="100" CanUserResize="False"/>

        <DataGridTextColumn Header="Doménové jméno" Binding="{Binding DomainName}" IsReadOnly="True" Width="105" CanUserResize="False"/>

        <DataGridTextColumn Header="Druh" Binding="{Binding Relevance}" IsReadOnly="True" Width="65" CanUserResize="False"/>

        <DataGridTextColumn Header="Kategorie" Binding="{Binding DomainName}" IsReadOnly="True" Width="65" CanUserResize="False"/>

        <DataGridTextColumn Header="Popis" Binding="{Binding Content}" IsReadOnly="True" Width="200" CanUserResize="False"/>

        <DataGridTemplateColumn MinWidth="100" Header="Poznámky" CanUserSort="True" CanUserResize="False">

            <DataGridTemplateColumn.CellTemplate>

                <DataTemplate>

                    <Button Name="BtnShowNotes" IsEnabled="True" Click="BtnShowNotes_OnClick">Zobrazit</Button>

                </DataTemplate>

            </DataGridTemplateColumn.CellTemplate>

        </DataGridTemplateColumn>

    </DataGrid.Columns>

</DataGrid>


查看完整回答
反对 回复 2021-11-21
  • 1 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信