C# Windows 8 metro应用程序:访问按钮属性
我是windows 8.1开发的新手。 我用xaml页面上的按钮创建了下面的页面C# Windows 8 metro应用程序:访问按钮属性,c#,window,windows-8.1,C#,Window,Windows 8.1,我是windows 8.1开发的新手。 我用xaml页面上的按钮创建了下面的页面 GroupedItemsPage.xaml.cs GroupedItemsPage.xaml <Button Style="{StaticResource mystyle}" Click="ItemView_ItemClick" x:Name="Testing"> GroupedItemsPage.xaml.cs GroupedItemsPage.xaml 我在想,在xaml页面的页面加载中,我
GroupedItemsPage.xaml.cs
GroupedItemsPage.xaml
<Button Style="{StaticResource mystyle}" Click="ItemView_ItemClick" x:Name="Testing">
GroupedItemsPage.xaml.cs
GroupedItemsPage.xaml
我在想,在xaml页面的页面加载中,我将能够访问button属性
做这样的事。。像我们在windows开发环境中通常做的那样测试.property。这并没有发生。我希望能够以编程方式设置一些按钮的样式
如何获取.cs文件中按钮的属性
Thanks. Here is the xaml page below.
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Grouped Items"
Grid.RowSpan="2"
Padding="116,137,40,46"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
SelectionMode="None"
IsSwipeEnabled="false"
>
<GridView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Left" Width="Auto" Height="Auto" >
<Image Source="{Binding ImagePath}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
</Border>
<StackPanel VerticalAlignment="Bottom" Background="{ThemeResource ListViewItemOverlayBackgroundThemeBrush}">
<TextBlock Text="{Binding Title}" Foreground="{ThemeResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextBlockStyle}" Height="60" Margin="15,0,15,0"/>
<TextBlock Text="{Binding Subtitle}" Foreground="{ThemeResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextBlockStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/>
</StackPanel>-->
<Button Style="{StaticResource contactSquarePref}" Click="ItemView_ItemClick" x:Name="Testing">
<StackPanel Margin="5" >
<TextBlock Tag="cntCustName" Style="{ThemeResource CntNormalTextBlockStyle}" Text="{Binding Name }"/>
<TextBlock Tag="cntCatCode" Style="{ThemeResource CntLrgTextBlockStyle}" Text="{Binding Address}"/>
</StackPanel>
</Button>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid GroupPadding="0,0,70,0"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="0,0,0,2">
<Button Foreground="{ThemeResource ApplicationHeaderForegroundThemeBrush}"
AutomationProperties.Name="Group Title"
Click="Header_Click"
Style="{StaticResource TextBlockButtonStyle}" >
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ContactType}" Margin="0,-11,10,10" Style="{StaticResource SubheaderTextBlockStyle}" TextWrapping="NoWrap" />
<TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-11,0,10" Style="{StaticResource SubheaderTextBlockStyle}" TextWrapping="NoWrap" />
</StackPanel>
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
谢谢。下面是xaml页面。
-->
这取决于您的XAML。如果您的按钮只是一个子元素(即逻辑树的一部分)或页面的命名资源,那么就不会有问题,在构建时有一个代码生成过程,它创建必需的字段(在本例中为按钮测试
),并在InitializeComponent()中查找必需的元素
生成方法
但是,如果按钮是控件模板的一部分,则获取元素引用的唯一方法是GetTemplateChild()
(如果您正在编写自己的控件,因为此方法受保护)或手动观察可视树
因此,如果您的页面的子元素有问题,请跳过此处的所有XAML标记,因为上面问题中的行不足以找到解决方案。但如果您已经在控件模板中定义了按钮,请看第二段