我使用Visual Studio 2013和Silverlight 5 Pivotviewer。几年前我已经使用前一代做了一些Pivotviewer的东西,它的工作方式很好(Excel插件工具)。现在我尝试使用代码和版本5创建一个pivotviewer。
我从互联网上举了一个例子,展示了一本生日礼物。该示例中的PivotViewerItemTemplate是带有文本框的简单边框。它的工作正常,但后来我想在PivotViewerItemTemplate中包含一个图像文件,其中源标签绑定到一个字符串。不知怎的,我没有得到任何图片,直到我通过工具箱手动放置窗口上任何位置的另一个图像。现在,pivotviewer开始显示它通过绑定获得的所有对象的图像。我调试了,看到绑定正在为所有人做正确的工作。
MainPage.xaml中
<UserControl x:Class="PivotViewer5.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pv="clr-namespace:System.Windows.Controls.Pivot;assembly=System.Windows.Controls.Pivot"
xmlns:local="clr-namespace:PivotViewer5"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<pv:PivotViewer x:Name="pivotviewer" ItemsSource="{Binding}">
<pv:PivotViewer.PivotProperties>
<pv:PivotViewerStringProperty Id="Name" Options="CanFilter" DisplayName="Name" Binding="{Binding Name}" />
<pv:PivotViewerNumericProperty Id="Age" Options="CanFilter" DisplayName="Age" Binding="{Binding Age}" />
<pv:PivotViewerDateTimeProperty Id="Birthday" Options="CanFilter" DisplayName="Birthday" Binding="{Binding Birthday}" />
</pv:PivotViewer.PivotProperties>
<pv:PivotViewer.ItemTemplates>
<pv:PivotViewerItemTemplate MaxWidth="800">
<Border Width="120" Height="120" Background="DarkSlateBlue">
<Image Source="{Binding ImageName}" Width="120" Height="120"/>
</Border>
</pv:PivotViewerItemTemplate>
<pv:PivotViewerItemTemplate>
<Border Width="120" Height="120" Background="Blue">
<Image Source="{Binding ImageName}" Width="120" Height="120"/>
</Border>
</pv:PivotViewerItemTemplate>
</pv:PivotViewer.ItemTemplates>
</pv:PivotViewer>
<Image HorizontalAlignment="Left" Height="100" Margin="704,108,-404,0" VerticalAlignment="Top" Width="100" Source="images/bild.png" />
<Image HorizontalAlignment="Left" Height="100" Margin="704,143,-404,0" VerticalAlignment="Top" Width="100" Source="images/bild4.png"/>
</Grid>
</UserControl>
正如你可以在底部看到我放置了两个图像,之后pivotviewer开始接受图像bild4和bild。所以&#34;布拉德&#34;和&#34; Rocky&#34;现在正在显示那些图像。从底部删除了两个图像线后,pivotviewer除了边框和背景颜色外没有显示任何内容。
MainPage.xaml.cs中
public MainPage()
{
InitializeComponent();
List<Person> birthdayBook = new List<Person>();
birthdayBook.Add(new Person("Brad", 25, new DateTime(1986, 5, 9), "images/bild.png"));
birthdayBook.Add(new Person("Janet", 12, new DateTime(1998, 12, 3), "images/bild3.png"));
birthdayBook.Add(new Person("Rocky", 43, new DateTime(1968, 7, 17), "images/bild4.png"));
birthdayBook.Add(new Person("Magenta", 21, new DateTime(1990, 2, 21), "images/bild.png"));
pivotviewer.DataContext = birthdayBook;
}
我猜在ItemTemplate标签的xaml代码中有错误但在哪里? bild(120x120),bild3(485x485)和bild4(120x120)的属性。图像包含在该图像文件夹的项目中,构建操作是资源。