我正在将应用程序从 Windows Phone 7 移植到 Windows Phone 8,但 PathListBox 控件存在一些问题。
这是 XAML:
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<Path x:Name="path" Data="M58,382 C59,378 67,156 162,216 C257,276 268,381 325,268 C382,155 470,188 345,107.999 C220,27.9988 191,-10.0014 51,46.9988 C-89,103.999 -106,203.999 18,185.999 C142,167.999 108,105.999 179,130.999" HorizontalAlignment="Left" Height="363.298" Margin="4.98,54.202,0,0" Stretch="Fill" Stroke="Red" UseLayoutRounding="False" VerticalAlignment="Top" Width="475.02" StrokeThickness="3"/>
<mec:PathListBox HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100">
<mec:PathListBox.LayoutPaths>
<mec:LayoutPath SourceElement="{Binding ElementName=path}"/>
</mec:PathListBox.LayoutPaths>
<mec:PathListBoxItem Content="PathListBoxItem" HorizontalAlignment="Left" Height="24" VerticalAlignment="Top" Width="100"/>
<mec:PathListBoxItem Content="PathListBoxItem" HorizontalAlignment="Left" Height="24" VerticalAlignment="Top" Width="100"/>
<mec:PathListBoxItem Content="PathListBoxItem" HorizontalAlignment="Left" Height="24" VerticalAlignment="Top" Width="100"/>
<mec:PathListBoxItem Content="PathListBoxItem" HorizontalAlignment="Left" Height="24" VerticalAlignment="Top" Width="100"/>
</mec:PathListBox>
</Grid>
PathListBoxItems 不像在 WPF、Silverlight 和 Windows Phone 7 中那样遵循路径。这是什么原因?
没有编译错误或警告,Visual Studio 2012 没有给我任何警告。在 Blend 5 的属性面板中的 LayoutPaths 列表中,在移除“-”按钮旁边的“路径”项上有一个黄色的小警告符号。用鼠标悬停图标时的工具提示状态:
此对象不存在或者是此 PathListBox 的后代。
鉴于我提供的 XAML,这似乎不是真的。
我已经尝试过使用矩形、椭圆和直线。我已经更改了它们的声明顺序。没关系,Blend 5 总是给我同样的小警告。还有其他人在使用 Windows Phone 8 PathListBox 时遇到过这种情况吗?