以编程方式访问 UI 元素 UWP
Access UI Element programmatically UWP
我的 C++ 通用应用程序的 xaml 文件中有一些控件。我想访问元素并设置一些 属性 值。
<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));
}
除了提升到 class 字段中的 x:Name
名称之外,您还可以使用特定于元素的属性遍历树。例如,StackPanel->Children
returns 可以添加、删除、枚举等的子元素集合
我的 C++ 通用应用程序的 xaml 文件中有一些控件。我想访问元素并设置一些 属性 值。
<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));
}
除了提升到 class 字段中的 x:Name
名称之外,您还可以使用特定于元素的属性遍历树。例如,StackPanel->Children
returns 可以添加、删除、枚举等的子元素集合