实际上我想在每个支点项目的标题上设置图像.....在运行时使用资源
<UserControl x:Class="WindowsPhoneApplication7.heder"
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"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="18" d:DesignWidth="24" Loaded="UserControl_Loaded">
<UserControl.Resources>
<DataTemplate x:Key="heder_image">
<Image Source="/WindowsPhoneApplication7;component/Images/appbar.feature.settings.rest.png"></Image>
</DataTemplate>
</UserControl.Resources>
这是一种资源 现在我的支点项目在另一个cs文件
heder dis =new heder();
pivotItem[i] = new PivotItem();
pivotItem[i].Header = (DataTemplate)dis.Resources["heder_image"];
但是标题设置没有设置......图像r不显示
答案 0 :(得分:2)
您在这里做错了,就是您要将Header
的{{1}}设置为模板,而不是使用Pivot.HeaderTemplate。这样就没有必要在C#中生成项目,而是使用数据绑定(通过。Pivot.ItemsSource属性),并按照您的意图在XAML中执行所有样式。
当说到使用图像作为Pivot Header时,应该真的不鼓励,因为它违背了平台默认的外观和感觉,因此违背了平台UI和UX准则。
答案 1 :(得分:0)
检查图像的Build Action
是否设置为Content
(请参阅VS2010资源管理器中文件的属性)。如果图片与XAML页面位于同一项目中,请使用"/Images/appbar.feature.settings.rest.png"
代替"/WindowsPhoneApplication7;component..."
。
使用此XAML代码段并在XAML中设置标题:
<controls:Pivot ItemsSource="{Binding MyObjects}" HeaderTemplate="{StaticResource heder_image}">
<controls:Pivot.ItemTemplate>
<DataTemplate>
...
</DataTemplate>
</controls:Pivot.ItemTemplate>
</controls:Pivot>