2016-10-06 20 views
0

イベントに基づいてボタンのBorderBrushに変更しようとしています。VisualState.StateTriggersが認識されない、またはアクセスできないのはなぜですか?

ビジュアル状態を変更する方法を検索しましたが、それらのすべてがVisualState.StateTriggersとVisualState.Settersの組み合わせを使用していました。スタイルで使用すると、「メンバーのSettersが認識されないか、アクセスできません」というエラーメッセージが表示されます。

開発環境

  • のWindows 10 Professionalの
  • Visual Studioのコミュニティ版2013更新4
  • の.NET Framework 4.6.1

    <Style x:Key="ButtonGameLarge" TargetType="Button"> 
        <Setter Property="Template"> 
         <Setter.Value> 
          <ControlTemplate TargetType="Button"> 
           <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> 
            <VisualStateManager.VisualStateGroups> 
             <VisualStateGroup > 
              <VisualState x:Name="whateverName"> 
               <VisualState.StateTriggers> 
                <AdaptiveTrigger MinWindowWidth="720" /> 
               </VisualState.StateTriggers> 
               <VisualState.Setters> 
                <Setter Target="RootGrid.Height" Value="80" /> 
                <Setter Target="RootGrid.Width" Value="400" /> 
                <Setter Target="RootGrid.Margin" Value="0,0,0,20" /> 
               </VisualState.Setters> 
              </VisualState> 
             </VisualStateGroup> 
            </VisualStateManager.VisualStateGroups> 
            <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> 
           </Grid> 
          </ControlTemplate> 
         </Setter.Value> 
        </Setter> 
    </Style> 
    
+0

実際にコンパイルしてみましたか? Visual Studioでは、XAMLが無効であると考えられることがありますが、それでも問題はありません。 – RareNCool

+0

コンパイルされません。 –

答えて

2

あなたはVisual Studio 2013を使用していると言いますが、Microsoftによれば、UWP用に開発するには少なくともVisual Studio 2015が必要です。あなたが選んだ「ユニバーサル」は、UWPのVisualStateの機能を持たない古いWindows 8.1スタイルの「ユニバーサル」だと私は推測しています。あなたは本当にUWPプロジェクトではまったく働いていません。

0

私は空のプロジェクトを作成しましたVisual StudioでXAMLコードをメインページに貼り付け、ボタンにスタイルを適用しました。コンパイルして正常に動作します。

は、あなたのプロジェクトがユニバーサルのWindowsプロジェクトではなく、古い何か(私は思い出す場合StateTriggersを持っていないようなWindowsランタイム)であるあなたは確かにいますか?私はより多くの情報が必要です。

+0

はい。私は "ブランクアプリケーション(ユニバーサルアプリケーション)"を選択してプロジェクトを開始しました。 –

関連する問題