2017-12-15 22 views
0

내 C++ 범용 응용 프로그램의 xaml 파일에 일부 컨트롤이 있습니다. 요소에 액세스하고 일부 속성 값을 설정하려고합니다.프로그래밍 방식으로 UI 요소에 액세스 UWP

<PivotItem Header="Home"> 
    <Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="4*"></ColumnDefinition> 
    <ColumnDefinition Width="3*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <StackPanel Padding="8,8,8,8"> 
    <TextBlock Margin="8" Text="A"/> 
    <Border Margin="8,0,0,0" HorizontalAlignment="Left" BorderBrush="Gray" BorderThickness="2" Grid.Row="0"> 
    <TextBox x:Name="controlA" x:Uid="controlA" HorizontalAlignment="Left" Width="160" Text="100 kHz" IsEnabled="False" IsReadOnly="True"/> 
    </Border> 
    </StackPanel> 
    </Grid> 
</PivotItem> 

프로그래밍 방식으로 내 컨트롤에 액세스 할 수 있습니까? 나는 마침내 다음과 같이 허용 대답 다음 그것을했다

:

//Code For a text box 
for (auto&& child : tstStack->Children) 
{         
    TextBlock^ temp = dynamic_cast<TextBlock^>(static_cast<Object^>(child)); 
} 
+0

어떤 컨트롤에 액세스 하시겠습니까? 컨트롤에 "이름"을 설정 한 것을 보았을 때, 코드 숨김으로 이름으로이 컨트롤을 얻을 수있었습니다. –

+0

예 이름으로 액세스 할 수 있다는 것을 알고 있습니다. 컨테이너와 함께 작동하려면 "스택 패널/피벗"을 통과시켜 액세스해야합니다. –

답변

1

이 클래스의 필드로 승격 된 x:Name 이름 또한이 요소 별 속성을 사용하여 트리를 걸어 갈 수 있습니다. 예를 들어, StackPanel->Children은 추가, 제거, 열거 등의 하위 요소 컬렉션을 반환합니다.