2013-04-07 26 views
0

我正在使用網格來顯示直到運行時才知道的數據。我的Grid的XAML非常簡單,因爲我以編程方式向其添加控件。我需要網格靈活。如何在WPF Grid控件中選擇一行?

我希望用戶能夠選擇(突出顯示)網格中的整個行,然後能夠單擊按鈕來處理該行中的數據。我怎麼能這樣做?

我一直未能找到任何與我的問題有關的信息。任何想法將不勝感激。

這裏是XAML:

<Grid x:Name="lstAssigned" ShowGridLines="True"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
      <ColumnDefinition Width="auto"></ColumnDefinition> 
     </Grid.ColumnDefinitions> 
    </Grid> 

enter image description here

謝謝大家!

這裏是一些更多的細節: 要顯示的數據會有所不同。網格將有5列。第2列和第3列將是組合框。其他列是文本框。用戶將輸入數據並保存。

另一次,要顯示的數據可能是:列2和4中的組合框,列5中的日期。由於我的數據源會有所不同,因此我試圖以編程方式在每列中設置控件類型。

我最初使用DataTemplates開始使用DataGrid,但是這會定義列和順序。我錯了嗎?我想在運行時定義它們。

什麼是最好的處理方法?我應該使用什麼類型的控制?

我會欣賞你可以提供的任何形式的adice。

在此先感謝。

+0

你的方法是完全錯誤的。發佈你需要的截圖,我可以告訴你在WPF中實現它的正確方法。你不應該在WPF中「以編程方式添加控件」。 – 2013-04-07 14:40:02

+0

我試圖添加一個圖片,但是我的StackOverFlow上的「聲望」不夠高,無法添加圖片。所以我會試着給我的問題提供更多的細節。 – DFlynn 2013-04-07 20:37:24

+0

嘗試'imgur.com'來上傳圖片,然後在這裏的問題中放入一個圖片鏈接。 – 2013-04-07 20:39:05

回答

0

這聽起來像你應該爲每種情況使用2個單獨的DataGrid s。有許多方法可以在運行時以編程方式更改列,但是它更加混亂並導致可維護性下降。如果給我這個任務,我會簡單地使用2個不同的DataGrid S,

一個情形#1,你需要

Text  Combo  Combo  Text  Text 

和其他情形#2:

Text  Combo  Text  Combo  DateTime 

聽起來像一個非常簡單的集合,在沒有主要頭痛的情況下,您可以爲每個Model對象創建一個正確的DataTemplate,其中包含每個DataGrid

+0

我會這麼做的。感謝您的時間和耐心! – DFlynn 2013-04-07 22:20:55

0

網格不支持選擇行/列/單元格。它用於佈局顯示控件。使用其他的東西,比如ListView。