2016-06-22 4 views
0

こと:私はこのようなループのためにVisibiltyを変更したい編集チャンピオンの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

1でしょう[バインド](https://msdn.microsoft.com/en-us/library/ms752347.aspx) 'ItemsControl'オブジェクトのリストにアイテムの可視性をそれらのオブジェクトのプロパティにバインドし、そのプロパティを変更するだけです。 [データテンプレート](https://msdn.microsoft.com/en-us/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ファイル内のオブジェクトはStringです。 本当ですか? あなたがいる場合は、CSファイルなどの変更クラス型、通常

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