2012-03-30 62 views
0

在WP7中,我有一个列表框,在列表框样式模板中定义了一个分页器。从代码访问我的寻呼机控制的最佳方式是什么?我需要根据datacontext中的记录数来显示/隐藏ListPagerPanel。WP7:如何以编程方式更改列表框样式模板?

<ListBox x:Name="StreamListBox" ItemsSource="{Binding Mode=OneWay}"> 
    <ListBox.Resources> 
     <Style x:Key="ListBoxStyle1" TargetType="ListBox"> 
      <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/> 
      <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="ListBox"> 
         <ScrollViewer x:Name="ScrollViewer" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Foreground="{TemplateBinding Foreground}" Padding="{TemplateBinding Padding}"> 
          <StackPanel> 
           <ItemsPresenter/> 
           <StackPanel x:Name="ListPagerPanel" HorizontalAlignment="Right" Orientation="Horizontal"> 

....等。由于

+0

什么是DataContext的类吗? – 2012-03-30 12:00:48

+0

嗨Ritch,它是一个Linq IQueryable <...>对象。 – lekso 2012-03-30 12:27:55

回答

4

可以使用类似的代码在动态的方式 方式实现风格= Application.Current.Resources [ “StreamListBox”]作为风格

+0

对不起,您能否提供代码示例?这是我的第一个WP7应用程序,刚刚学习 – lekso 2012-03-30 13:12:57

+0

,如果您的控件名称为“ImageListBox”,您可以简单地通过添加这样的代码来设置您控制的样式。您可以简单地将StyleListBox.Style = Application.Current.Resources [“StreamListBox”]添加为样式 – 2012-03-30 13:15:56

+0

,以便实现此操作,或APP.xaml – 2012-03-30 13:19:28

相关问题