gpt4 book ai didi

c# - WPF datagridtextcolumn - 始终显示文本框

转载 作者:太空宇宙 更新时间:2023-11-03 14:29:54 25 4
gpt4 key购买 nike

默认情况下,WPF 数据网格文本显示为标签,并在单击时进入编辑状态。有没有办法修改列,使文本框始终可见(而不是依赖于点击事件)?提前致谢,日语

最佳答案

我根据您在评论中的澄清更新了我的答案。您可以自己为单元格设置模板。下面是年龄列使用文本 block 的示例。

XAML:

<Window x:Class="GridTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
Height="300" Width="300">
<StackPanel>
<Controls:DataGrid Name="dataGrid" AutoGenerateColumns="False" >
<Controls:DataGrid.Columns>
<Controls:DataGridTextColumn
Header="Name"
Binding="{Binding Path=Name}" />
<Controls:DataGridTemplateColumn Header="Age">
<Controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Age}" />
</DataTemplate>
</Controls:DataGridTemplateColumn.CellTemplate>
<Controls:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Age}" />
</DataTemplate>
</Controls:DataGridTemplateColumn.CellEditingTemplate>
</Controls:DataGridTemplateColumn>
</Controls:DataGrid.Columns>
</Controls:DataGrid>
</StackPanel>
</Window>

代码隐藏:

using System;
using System.Collections.Generic;
using System.Windows;

namespace GridTest
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();

dataGrid.ItemsSource = new List<Person>(
new Person[]
{
new Person("Bob", 30),
new Person("Sally", 24),
new Person("Joe", 17)
});
}
}

public class Person
{
public String Name { get; set; }
public int Age { get; set; }

public Person(String name, int age)
{
Name = name;
Age = age;
}
}
}

关于c# - WPF datagridtextcolumn - 始终显示文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com