2016-06-22 73 views
0

我在我的XAML文件6值類似於如下:編輯冠軍XAML與串聯串

<TextBlock Name="Player0" Visibility="Hidden" Text="Player 0" /> 
<TextBlock Name="Player1" Visibility="Hidden" Text="Player 1" /> 
... 

,但我希望有一個改變公開程度爲這樣的循環:

for (int i = 0; i<6; i++) 
{ 
    String test = "Player" + i; 
    test.Visibility = Visibility.Visible; 
} 

但不起作用。

有人可以幫助我嗎?

+0

一般人會[綁定](https://msdn.microsoft.com/en-us/library/ms752347.aspx)的'ItemsControl'到對象列表,將項目的可見性綁定到這些對象上的屬性,然後更改該屬性。另請參閱[數據模板](https://msdn.microsoft.com/zh-cn/library/ms742521(v = vs.100).aspx)。 –

回答

1

試試這個:

for (int i = 0; i < 6; i++) 
{ 
    TextBlock test = (TextBlock)this.FindName("Player" + i); 
    test.Visibility = Visibility.Visible; 
} 

希望這有助於!

+0

這是完美的,正是我需要的。謝謝你的幫助 – Franckentien

0

您的對象在xaml文件中的類型是TextBlock,但它在cs文件中是字符串。 你確定嗎? 如果你是,更改類的類型在CS文件一樣,

for(int i=0;i<6;i++) 
{ 
    var block = this.FindName("Player"+i) as TextBlock; 
    if (block!=null) 
    { 
     block.Visibility = Visibility.Visible; 
    } 
}