2016-09-09 8 views
1

私はHTMLとCSSでWebページを開発する方法を知っていますが、私はWindowsアプリケーション開発には新しく、ユニバーサルWindowsプラットフォーム(UWP)アプリケーションです。グリッド内のすべてのテキストボックスのフォントサイズを変更する方法windows app uwp

<Grid Name="Grid1"> 
    <VisualStateManager.VisualStateGroups> 
      <VisualStateGroup> 
       <VisualState x:Name="Normal"> 
        <VisualState.StateTriggers> 
         <AdaptiveTrigger MinWindowWidth="600" /> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="text1.FontSize" Value="12" /> 
        <Setter Target="text2.FontSize" Value="12" /> 
        <Setter Target="text3.FontSize" Value="10" />       
       </VisualState.Setters> 
       </VisualState> 
      </VisualStateGroup> 
     </VisualStateManager.VisualStateGroups> 
    <Grid.RowDefinitions> 
     <RowDefinition></RowDefinition> 
    </Grid.RowDefinitions> 
    <TextBlock Name="text1" FontSize="22" Text="hello text"> </TextBlock> 
    <TextBlock Name="text2" FontSize="22" Text="hello text1"> </TextBlock> 
    <TextBlock Name="text3" FontSize="22" Text="hello text2"> </TextBlock> 
</Grid> 

が、我々がHTMLにCSSクラスで行う方法のような単一VisualState.Setters持つすべてのテキストボックスのフォントサイズを変更することが可能であるか、私が持っているので、私はグリッドを考えてみましょうウィンドウの幅に基づいて多くのテキストボックスのフォントサイズを変更します。

ご迷惑をおかけして申し訳ございません。前もって感謝します。

答えて

1

スタイルを使用して、すべてのコントロールに同じ値を適用できます。次の例を考えてみましょう:

<Grid> 
    <Grid.Resources> 
     <Style TargetType="TextBlock"> 
      <Setter Property="FontSize" Value="22"/> 
     </Style> 
    </Grid.Resources> 

    <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <TextBlock Grid.Row="0" Text="hello text" /> 
    <TextBlock Grid.Row="1" Text="hello text1" /> 
    <TextBlock Grid.Row="2" Text="hello text2" /> 
</Grid> 

編集

あなたがvisualSTATEののセッターで指定したスタイルを設定することができます。私が持つことができるように、

<Grid Name="Grid1"> 
    <Grid.Resources> 
     <Style x:Key="TextBlockStyle" TargetType="TextBlock"> 
      <Setter Property="FontSize" Value="22"/> 
     </Style> 
    </Grid.Resources> 
    <VisualStateManager.VisualStateGroups> 
     <VisualStateGroup> 
      <VisualState x:Name="Normal"> 
       ... 
       <VisualState.Setters> 
        <Setter Target="text1.Style" Value="{StaticResource TextBlockStyle}" /> 
        ... 
       </VisualState.Setters> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 
    ... 
</Grid> 
+0

が、私はVisualStateManagerでそれを実現したいですレスポンスUI。これはVisualStateManager内では機能しませんでした。 – MaheshKumar

+0

すべてのコントロールをいくつかのパネルに配置し、このパネルのプロパティ(多分添付プロパティ)を「セッター」に変更することができます。すべての子コントロールは、値を持たない場合はこの値を継承します。あなたの例ではTextElement.FontSizeを使うことができます:

関連する問題