我有一個包含12個網格的XAML文件,每個網格包含一組相同的標籤。它們被命名爲grid1,mainLabel1,otherLabel1,countLabel1; grid2,mainLabel2等。我有一個List(T)集合(List(Projects))中的項目集合。列表中的每個元素將包含要保存在標籤中的文本。我還需要計算列表中有多少元素,並隱藏超出該範圍的所有網格(即,如果列表中有8個項目,隱藏網格9-12)。在多個網格上的多個控件上設置屬性
我已經在Powershell中完成了這項工作,但我需要將它放到C#/ XAML文件中,以便爲我的團隊進行面向未來的驗證。在PS中,我可以使用Get-Variable和-ValueOnly爲控件的屬性賦值,但我似乎無法找到在C#中執行此操作的方法。無可否認,我對C#很陌生,因此任何指導都將不勝感激。
我想過使用for或foreach循環,因爲然後我可以在每次迭代中使用i,但使用控件名稱似乎有問題。
這是一個運行Powershell的例子。在完成這個設置和其他幾行後,我可以使用$ f.Add_Click或$ b.Add_Click並設置一個腳本塊。如何在C#中做到這一點?
foreach ($i in $script:projects)
{
$n = $script:projects.IndexOf($i) + 1
$m = $script:projects.IndexOf($i)
# get new variables based on existing control names
$a = Get-Variable -Name "WPFprojBG$n" -ValueOnly
$b = Get-Variable -Name "WPFgrid$n" -ValueOnly
$c = Get-Variable -Name "WPFclientLabel$n" -ValueOnly
$d = Get-Variable -Name "WPFprojLabel$n" -ValueOnly
$e = Get-Variable -Name "WPFcount$n" -ValueOnly
$f = Get-Variable -Name "WPFButton$n" -ValueOnly
}
嗯......也許我沒有很好地解釋視覺效果。網格設置是這樣的:http://i.imgur.com/KcvbDh8.png每個綠色區域是一個網格,每個紅色塊和「1」是文本框,它們是它下面的網格的一部分。左上角是grid1,label1,otherLabel1,count1。在它的右邊是grid2,label2等。我不確定這裏的ListView教程真的有幫助...或者我想念你想告訴我什麼? –
好吧,結果記住它看起來像你只是希望ListView水平流過窗口項目。您的每個綠色區域都會代表您的列表中的一個項目,並且您會將其內容控件放置在項目模板中,如「帶有ItemTemplate的ListView」一節中的教程。有關如何製作水平列表視圖樣式的示例,請參見[此SO鏈接](http://stackoverflow.com/a/11345736/3407841)。結合這兩者並改變項目模板以匹配你自己的佈局和瞧。 – leetibbett
這對我來說將是漫長的道路,但它絕對是正確的。謝謝(你的)信息! –