簡體   English   中英

鼠標雙擊WPF Datagrid編輯單元格

[英]WPF Datagrid edit cell on mouse double click

在WPF中,我添加了一個DataGrid:

<DataGrid x:Name="dataGridProdotti" HorizontalAlignment="Left" Margin="10,56,0,0" VerticalAlignment="Top" Height="250" Width="426" SelectionChanged="dataGridProdotti_SelectionChanged" IsReadOnly="False"/>

與財產

IsReadOnly="False"

然后我做:

dataGridProdotti.ItemsSource = myList

為什么我雙擊一個單元格,該單元格不進入編輯模式?

您需要在DataGrid中添加DataColumns

<DataGrid x:Name="dataGridProdotti"
    HorizontalAlignment="Left"
              ItemsSource="{Binding Values}"
    Margin="10,10,0,192" Width="481" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn IsReadOnly="False" Binding="{Binding Path=Name}" Header="List" />
        </DataGrid.Columns>
    </DataGrid>

並且也不要將list<string>直接綁定到DataGrid的數據源,創建一個自定義類,然后像下面那樣綁定。

private List<Country> value = new List<Country>();

    public MainWindow()
    {
        InitializeComponent();
        this.Values.Add(new Country{ Name = "America"});
        this.Values.Add(new Country{Name = "Africa"});
        this.Values.Add(new Country{Name = "India"});
    }

    public List<Country> Values
    {
        get
        {
            return this.value;
        }
        set
        {
            this.value = value;
        }
    }
}

public class Country
{
    public string Name { get; set; }
}

現在DataGrid是可編輯的。

我沒有看到你的數據網格中有任何列,

只需將DataGrid控件拖放到視圖中,然后將ItemsSource綁定到數據對象的集合即可。 DataGrid提供了一個名為AutoGenerateColumns的功能,可根據數據對象的公共屬性自動生成列

或者,您可以通過將AutoGenerateColumns屬性設置為False來手動定義列。 在這種情況下,您必須在數據網格的Columns集合中定義列。

如果要編輯datagrid單元格,則應定義datatemplateColumn,

<sdk:DataGridTemplateColumn   Header="Yourheadername" Width="150" CanUserResize="False" CanUserReorder="False">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock  Margin="2" VerticalAlignment="Center"  x:Name="txtblock" Text="{Binding Test,Mode=TwoWay}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM