2

VS2012 の FILE > Recent Documents メニューのような最近のドキュメント メニューを提供する次の XAML があります。

<MenuItem Header="_FILE">
    ...
    <MenuItem Header="_Recent Studies" 
              ItemsSource="{Binding RecentFiles}" 
              AlternationCount="{Binding RecentFiles.Count}" 
              HeaderTemplate="{x:Null}">
        <MenuItem.Resources>
            <Style TargetType="{x:Type MenuItem}" 
                   BasedOn="{StaticResource {x:Type MenuItem}}">
                <Setter Property="HeaderTemplate" >
                   <Setter.Value>
                      <DataTemplate>
                         <TextBlock>
                            <TextBlock.Text>
                               <MultiBinding StringFormat="{}{0}. {1}">
                                  <Binding Path="(ItemsControl.AlternationIndex)" 
                                           RelativeSource="{RelativeSource FindAncestor, 
                                                                           AncestorType={x:Type MenuItem}}"/>
                                  <Binding Path="FullFileName"/>
                               </MultiBinding>
                            </TextBlock.Text>
                         </TextBlock>
                      </DataTemplate>
                   </Setter.Value>
                </Setter>
            </Style>
        </MenuItem.Resources>
    </MenuItem>
    <Separator/>
        <MenuItem Header="E_xit" 
                  Height="22"
                  Icon="{Binding Source={StaticResource Close}, 
                                 Converter={StaticResource drawingBrushToImageConverter}}"
                  Command="{Binding ExitCommand}" />
</MenuItem>

これはうまくいきます!ただし、FILEMenuItemブロックのすべての XAML が強調表示され、コンパイル時にエラーが発生します (ただし、コードは実行され、動作します!)、

タイプ "System.Windows.StaticResourceExtension" のオブジェクトは、タイプ "System.Windows.Style" を予期するプロパティに適用できません。

.NET4.5 と VS2012 を使用しています。なぜこれが起こっているのですか、どうすれば解決できますか?

御時間ありがとうございます。

4

1 に答える 1