これはそれほど大きな問題ではないようですが、何らかの理由で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;
}
}
ないXAMLについて確認していますが、バインドされたコントロールを持っている場合、Webフォームでは、テンプレート内のコントロールへの参照を取得するためにコンテナからにFindControlを行う必要があります。 – Seano666