【发布时间】:2014-02-25 00:25:44
【问题描述】:
我在 Windows Phone 中使用全景控制。在全景控件中,我从代码中动态添加全景项目。在 PanoramaItem 中,我设置了 ListBox。我正在从代码中为 ListBox 设置 ItemTemplate。这是我设置 ItemTemplate 的代码。
private void AddContentInPanoramaItem(PanoramaItem panoramaItem)
{
ListBox listBox = new ListBox();
DataTemplate itemTmp = (DataTemplate)XamlReader.Load(
@"<DataTemplate xmlns=""http://schemas.microsoft.com/client/2007"">
<Grid Background=""Green"" Width=""400"" Margin=""0 10 0 10"">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=""Auto""/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Background=""White"" Margin=""5 0 5 0"" Width=""60"" Height=""100"" Grid.RowSpan=""2"" CornerRadius=""1"">
<Image Source=""Assets\phoneImage.png"" />
</Border>
<TextBlock Text=""{Binding Name}"" FontSize=""35"" Grid.Column=""1"" />
<TextBlock Text=""{Binding Number}"" FontSize=""20"" Grid.Column=""1"" Grid.Row=""2"" />
</Grid>
</DataTemplate>");
listBox.ItemTemplate = itemTmp;
var contacts = from contact in m_contactList
where contact.Category == panoramaItem.Header.ToString()
orderby contact.Name
select contact;
listBox.ItemsSource = contacts;
panoramaItem.Content = listBox;
}
现在我想为 .我定义了一个方法来处理点击事件。
private void Border_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{}
但是当我在标签中添加 Tap=""Border_Tap"" 时,我的应用程序崩溃了。异常说“错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。”
知道如何解决这个问题吗?
【问题讨论】:
标签: c# xaml listbox windows-phone listboxitem