2016-04-18 9 views
0

これはそれほど大きな問題ではないようですが、何らかの理由でXAMLで単純な四角形を作成し、実行時にプログラムで変更するために参照することはできません。それは、国のパネルの1つが選択されているかどうかをチェックすることです。選択した国のフィールドの1つがハブセクションの名前と一致する場合、ハブセクションの下部にその矩形が強調表示され、ハブセクションが選択されている限り、ハブセクションが選択されていることを確認します。私は、ハブセクション自体をうまく参照することはできますが、私は四角形の子オブジェクトにアクセスすることはできません。ここでXAMLは、最初のハブセクションの1のためです:Windows UniversalはC#でXAMLコントロールを参照できません。

 <HubSection x:Name="China" Width="440" Height="460" Background="#FF343434" Header="China" IsHeaderInteractive="True" Tapped="{x:Bind HubSectionTapped}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="50,0,0,0"> 
      <DataTemplate> 
       <Grid Height="460" Width="410" VerticalAlignment="Bottom" x:Name="ChinaBackground"> 
        <Image Source="Assets/chinaFlag.bmp" x:Name="ChinaFlag"/> 
        <Rectangle x:Name="ChinaSelected_Rect" Width="410" Height="30" VerticalAlignment="Bottom" Fill="BlueViolet" Opacity="0"/> 
       </Grid> 
      </DataTemplate> 
     </HubSection> 

と、ここでその背後にあるコードは次のとおりです。

private void Timer_SelectionIndicator(object sender, object e) 
    { 
     if (currentCountry1 == "China" || currentCountry2 == "China") 
     { 
      //this line is the one that throws an error: 
      //it says it needs an object reference to the rectangle, but... 
      //I don't need a reference to reference the hub section itself... why? 
      ChinaSelected_Rect.Opacity = 100; 
     } 
    } 
+0

ないXAMLについて確認していますが、バインドされたコントロールを持っている場合、Webフォームでは、テンプレート内のコントロールへの参照を取得するためにコンテナからにFindControlを行う必要があります。 – Seano666

答えて

関連する問題