2012-11-14 44 views
1

我試着用wpf爲surface 2.0/pixelsense實現一個簡單的Menu。wpf surface 2.0 ElementMenuItem

<s:SurfaceWindow x:Class="MenuTrial.SurfaceWindow1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:s="http://schemas.microsoft.com/surface/2008" 
xmlns:MenuTrial="clr-namespace:MenuTrial" 
xmlns:Properties="clr-namespace:MenuTrial.Properties" 
Title="MenuTrial" 
> 



<Grid Name="MenuGrid" Height="102" VerticalAlignment="Bottom"> 
    <s:ScatterView HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
     <s:ScatterView.Resources> 
      <Image x:Shared="false" x:Key="IconPhoto" Source="Resources\Icons\photo.png"/> 
      <Image x:Shared="false" x:Key="IconCopy" Source="Resources\Icons\copy.png"/> 
     </s:ScatterView.Resources> 


     <s:ScatterViewItem Height="139" 
          Width="224" 
          Orientation="-23" 
          Background="#FF787878"> 
     <s:ElementMenu 
      Name="MainMenu" 
      ActivationMode="AlwaysActive" 
      ActivationHost="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type s:ScatterViewItem}}}" 
     > 
     <s:ElementMenuItem Header="Menu1"/> 
     <s:ElementMenuItem Header="Menu2"/> 
      <s:ElementMenuItem Header="{x:Static Resources:Resources.IconPhoto}" Icon="{StaticResource IconPhoto}"> 
        <s:ElementMenuItem Header="{x:Static Resources:Resources.Copy}" Icon="{StaticResource IconCopy}" Command="{x:Static MenuTrial:SurfaceWindow1.ShowMessageCommand}" CommandParameter="{Binding Path=Header, RelativeSource={x:Static RelativeSource.Self}}"/> 
        <s:ElementMenuItem Header="Menu 3.2" /> 
        <s:ElementMenuItem Header="Menu 3.3"/> 
      </s:ElementMenuItem> 
    </s:ElementMenu> 
     </s:ScatterViewItem> 
    </s:ScatterView> 
    <TextBlock x:Name="textMessage" Width="500" Margin="40" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontFamily="Segoe360" FontSize="17" /> 
</Grid> 

的問題是,我得到一個未知的畫報錯誤。密鑰不能爲NULL或英文中的內容。在標題=「{X:靜態資源....

這是完全一樣的表面樣本中我只是想表明一個消息時,菜單項是clickt

誰能幫我?THX

回答

0

如果你定義了這個MenuItemResources部分,你需要爲它提供一個x:Key價值的資源不能在沒有申報的關鍵 -

<s:ElementMenuItem Header="{x:Static Resources:Resources.IconPhoto}" 
        Icon="{StaticResource IconPhoto}" 
        x:Key="MyMenuItem"> 
        .... 
</s:ElementMenuItem> 
+0

我有X:在宣佈開始重點已經 Judith

+0

您需要爲放置在字典中的每個資源聲明它。如果您在「參考資料」部分放置MenuItem,則需要對其進行設置。 –

+0

對不起,但我不明白。關鍵是如何幫助我找到資源? toolip說無法解析sybol的資源,在其他地方(如圖標)說MS.Internal.Design.Metadata.ReflectionTypeNode。 – Judith

相關問題