我正在创建WP 8.1 Silverlight应用程序。
我有一个字符串名称ObservableCollection
,它被设置为ListBox
的ItemsSource
。这是ListBox
中按钮的名称。然后我想从ListBox
中提取按钮,但返回值的类型是string
。
xaml代码是:
<ListBox x:Name="Game_ScrollViewer_online" Margin="41,104,128,6" SelectedValuePath="Current_game_button">
<ListBox.ItemTemplate>
<DataTemplate>
<Button x:Name="Current_game_button" Content="{Binding}"
HorizontalAlignment="Center" Height="80" Margin="-14,6,-15,0"
VerticalAlignment="Top" Width="210" Template="{StaticResource Button_CurrentLayout1}"
RenderTransformOrigin="0.5,0.5" Foreground="#FFCBECCB" FontFamily="Times New Roman"
Click="LoadGame_online" FontSize="16">
</Button>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
然后我想提取button元素:
for (int i = 0; i < Game_ScrollViewer_online.Items.Count; i++)
{
var tempType = Game_ScrollViewer_online.Items[i].GetType();
Button tempBut = (Game_ScrollViewer_online.Items[i] as Button);
//Do stuff with button
}
但正如前面所说,返回类型是string。
为什么不是纽扣?有办法打开按钮吗?
1条答案
按热度按时间djmepvbi1#
编辑:
Game_ScrollViewer_online.ItemContainerGenerator.ContainerFromIndex(i)
已删除,读取here.使用
Game_ScrollViewer_online.ContainerFromIndex(i)
代替,请阅读此处为此,您需要
FrameworkTemplate.FindName Method (String, FrameworkElement)
:然后又道:
要解决缺少的
FindName
,请使用FindDescendant
,如下所示: