2016-06-15 11 views
1

実行時にグリッドビュー内のテキストブロックのアイテムとフォントサイズを変更する方法がわかりませんか?私はItemのプロパティを変更する方法を知らない。私は "ProductDataTemplate"でDependencyPropertiesを使うべきですか?実行時にグリッドビューのアイテムサイズをウィンドウサイズに調整する

<Page x:Name="page" 
x:Class="app.SearchPage" 

...

<Page.Resources> 
    <ResourceDictionary> 
     <DataTemplate x:Key="ProductDataTemplate"> 
      <Grid Background="Gray" Width="480" Height="360"> 
       <Image Source="{Binding LargeThumbnail}"/> 
       <Border Background="#A5000000" Height="120" VerticalAlignment="Top"> 
        <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Title}" VerticalAlignment="Top" Style="{StaticResource SubheaderTextBlockStyle}" Margin="5,0" FontSize="12" Foreground="White"/> 
       </Border> 
      </Grid> 
     </DataTemplate> 
    </ResourceDictionary> 
</Page.Resources> 
<Page.DataContext> 
    <local:DataSource/> 
</Page.DataContext> 

...

<Grid x:Name="grid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" > 
     <ScrollViewer x:Name="scroll" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible"> 
      <GridView x:Name="gridresult" ItemTemplate="{StaticResource ProductDataTemplate}" ItemsSource="{Binding Miniatures}" Margin="0,10,0,0" ItemClick="gridresult_ItemClick" IsItemClickEnabled="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" SizeChanged="gridresult_SizeChanged"> 
       <GridView.ItemsPanel> 
        <ItemsPanelTemplate> 
         <ItemsWrapGrid Orientation="Horizontal"/> 
        </ItemsPanelTemplate> 
       </GridView.ItemsPanel> 
      </GridView> 
     </ScrollViewer> 
    </Grid> 

答えて

0

あなたは、ビューモデルのプロパティにItemsWrapGridItemWidthItemHeightを結合することができます。そのビューモデルをページ内のリソースとして配置し、バインディングのSourceをそのStaticResourceに設定します。このような何か:

<Page.Resources> 
    <ResourceDictionary> 
     <local:PageSizeViewModel 
      x:Key="PageSizeViewModel" /> 

...

<GridView.ItemsPanel> 
    <ItemsPanelTemplate> 
     <ItemsWrapGrid 
      ItemWidth="{Binding ItemWidth, Source={StaticResource PageViewModel}" 
      ItemHeight="{Binding ItemHeight, Source={StaticResource PageViewModel}" 
      Orientation="Horizontal"/> 
    </ItemsPanelTemplate> 
</GridView.ItemsPanel> 

ページのサイズが変更されますと、あなたはあなたのPageSizeViewModelでこれらのプロパティを変更することができます。この質問に似て

GridView with 2 columns, fill width

+0

[OK]を、ありがとうございましたが、どのように私はTextBlockのののFontSizeのようなDataTemplateのコントロールのプロパティを編集することができますか? – bkdi

+0

「編集」とはどういう意味ですか? 'DataTemplate'の任意のテキストエディタで入力することができます... –

+0

実行時にFontSizeの値を変更することを意味しますか?ユーザーがウィンドウのサイズを変更すると、アイテムとフォントサイズを調整したいと思います。 – bkdi

関連する問題