无法更改ListPicker FullMode ItemTemplate的字体大小

时间:2013-03-11 09:12:56

标签: xml xaml windows-phone-8 windows-phone

我有一个ListPicker,当我点击它时,我有全屏弹出窗口,但是那里的选项都非常小,而且无论出于什么原因我都无法更改FontSize。

代码:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Name="PickerFullItemTemplate">
        <StackPanel>
            <TextBlock Text="{Binding Number}"/>
        </StackPanel>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>


<toolkit:ListPicker ExpansionMode="FullScreenOnly" Name="Picker" ItemsSource="{Binding Number, ElementName=this}" FullModeItemTemplate="{Binding PickerFullItemTemplate}" />

如何制作全屏弹出尺寸36字体的文字?

编辑: 我应该提一下,如果我在模板中设置字体大小(如下所示),它就不起作用。我可以在列表选择器上设置字体大小,但显然不会改变完整模式弹出窗口。 此外,我已经将ListPicker从Pivot中取出,并将其尽可能地注释掉,因此没有什么可能覆盖此设置但仍然没有。

3 个答案:

答案 0 :(得分:5)

执行以下操作:

1)创建一个包含值列表

的类
public class Number
{
    public IEnumerable<string> number { get { return "AA1,AA2,AA3".Split(','); } }
}

2)在xaml文件的顶部声明项目的命名空间

xmlns:local="clr-namespace:YourAppNameSpaceGoesHere"

3)在PhoneApplicationPage Resources部分中将您的类声明为资源

4)在DataTemplate TextBlock中,只需将Text值定义为“{Binding}”并设置FontSize

<phone:PhoneApplicationPage.Resources>
    <local:Number x:Key="Number"/>
    <DataTemplate x:Name="PickerFullItemTemplate">
        <StackPanel>
            <TextBlock Text="{Binding}" FontSize="36"/>
        </StackPanel>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

5)包装ListPicker控件是一个像Grid一样的容器控件,并将Grid的DataContext设置为你的类

6)ListPicker中的FullModeItemTemplate应定义为StaticResource

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" DataContext="{StaticResource Number}">
        <toolkit:ListPicker ExpansionMode="FullScreenOnly" Name="Picker" ItemsSource="{Binding number}" FullModeItemTemplate="{StaticResource PickerFullItemTemplate}" />
    </Grid>

答案 1 :(得分:0)

以下情况应该有效。

<DataTemplate x:Name="PickerFullItemTemplate">
    <StackPanel>
        <TextBlock Text="{Binding Number}" FontSize="36"/>
    </StackPanel>
</DataTemplate>

答案 2 :(得分:0)

怎么样:

<Style x:Key="LPickFullModeTxtBlock" TargetType="TextBlock">
     <Setter Property="FontSize" Value="30"/>
</Style>

<toolkit:ListPicker.FullModeItemTemplate>
     <DataTemplate>
         <TextBlock Text="{Binding bindProp}" VerticalAlignment="Top" HorizontalAlignment="Left" Style="{StaticResource LPickFullModeTxtBlock}"></TextBlock>
     </DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>