0

我有一个使用 WP7 开发人员 CTP 工具开发的应用程序。现在我正在尝试运行相同的应用程序,但使用 WP7 测试版工具。

我已根据Microsoft 发行说明进行了上述转换所需的所有更改

它已经提到,ListView并且ListViewItem类已从Microsoft.Phone.Controls命名空间中删除。

以下是根据发行说明的(修改的)XML 命名空间。

xmlns:mpc="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"

我有使用 ListView 的后续行。

<mpc:ListViewItem Layout="TextAndDetailsWithIcon" Text="{Binding Title.Text}" Details="{Binding Title.Text}" Style="{StaticResource PhoneListBoxItemLayout}"/>

所以(显然)它给了我关于命名空间问题的错误。我如何解决它?


更新1 -

我直接在 DataTemplate 中将列表项的布局定义为

<TextBlock x:Name="ItemText" Text="{Binding Title.Text}" Margin="-2,-13,0,0" Style="{StaticResource PhoneTextSubtleStyle}"/>

现在我收到有关以下行的错误,该行位于某些自动生成的文件App.g.cs 中

System.Windows.Application.LoadComponent(this, new System.Uri("/RssReader;component/App.xaml", System.UriKind.Relative));

错误是

Invalid attribute value mpc:ListViewItem for property TargetType

现在看来是什么问题?

(注意:我是 Silverlight 的初学者,所以请多多包涵)

4

2 回答 2

5

看来他们确实根据此链接删除了该类。

好吧,预定义的 ListViewItem 模板已不复存在,因此我们直接在 DataTemplate 中定义列表项的布局,如下所示:

    <ListBox x:Name="MainListBox" ItemsSource="{Binding Items}" SelectionChanged="MainListBox_SelectionChanged">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel x:Name="DataTemplateStackPanel" Orientation="Horizontal">
                    <Image x:Name="ItemImage" Source="/WindowsPhoneListApplication1;component/Images/ArrowImg.png" Height="43" Width="43" VerticalAlignment="Top" Margin="10,0,20,0"/>
                    <StackPanel>
                        <TextBlock x:Name="ItemText" Text="{Binding LineOne}" Margin="-2,-13,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                        <TextBlock x:Name="DetailsText" Text="{Binding LineTwo}" Margin="0,-6,0,3" Style="{StaticResource PhoneTextSubtleStyle}"/>
                    </StackPanel>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

当您创建一个默认的 WindowsPhoneListApplication 时,如果您需要一个完整的示例,它也会执行此布局。

于 2010-09-04T19:48:34.783 回答
0

事实上你不需要定义ItemsSource="{Binding Items}"

<ListBox x:Name="MainListBox" SelectionChanged="MainListBox_SelectionChanged">

于 2011-06-03T07:13:15.587 回答