1

Windows8でVisual Studio 11を使用しています。また、グリッド アプリケーション (Metro) でデータ トリガーを設定すると、XAML で次のエラーが表示されます。

添付可能なプロパティ トリガーがスタイルに見つかりませんでした

<Image Stretch="UniformToFill">
     <Image.Style>
         <Style TargetType="Image">
             <Setter Property="Source" Value="{Binding Image}"/>
             <Style.Triggers>
                 <DataTrigger Binding="{Binding Image}" Value="{x:Null}">
                     <Setter Property="Source" Value="Images/Default.png"/>
                 </DataTrigger>
             </Style.Triggers>
         </Style>
    </Image.Style>
</Image>

なぜこれを見せてくれるの?

4

2 に答える 2

4

トリガーは、Windows 8 Metro スタイル アプリではサポートされていません。null 値をデフォルト値に置き換えるコンバーターを作成することをお勧めします。

于 2012-04-08T05:00:25.493 に答える
3

Windows 8 では、object.Triggers の代わりに VisualState を使用できます。コードは次のとおりです。

 <ControlTemplate TargetType="Button">
<VisualStateGroup.Transitions>

  <!--Take one half second to transition to the PointerOver state.-->
  <VisualTransition To="PointerOver" 
                      GeneratedDuration="0:0:0.5"/>
</VisualStateGroup.Transitions>

<VisualState x:Name="Normal" />

<VisualState x:Name="PointerOver">
<Storyboard> 
<ColorAnimation Storyboard.TargetName="ButtonBrush" 
Storyboard.TargetProperty="Color" To="Red" />
 </Storyboard> 
</VisualState> 
</VisualStateGroup>
</VisualStateManager.VisualStateGroups> 
  <Grid.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
 </Grid.Background>
</Grid>
 </ControlTemplate>
于 2012-07-12T19:27:42.660 に答える