1

我的问题是事件。在 AppBar 中,我发明的所有事件都没有起作用。(MessageDialog 或其他事件),当 AppBar 显示时,我无法隐藏,并且在 AppBar 中没有点击按钮。

<Page.BottomAppBar>
<AppBar x:Name="AppBar" Background="#FF1DB05F">         
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">                  
        <Button x:Name="SaveButton" Style="{StaticResource AppBarButtonStyle}"
         Content="&#xE105;"

         AutomationProperties.Name="Save" >                       
           <WinRtBehaviors:Interaction.Behaviors>        
                <Win8nl_Behavior:EventToCommandBehavior Event="Tapped"

                                          Command="NewFileXml"

                                          />     
            </WinRtBehaviors:Interaction.Behaviors>

        </Button>

在 MainViewModel.cs

public async void NewFileXml()
        {

            XmlDocument dom = new XmlDocument();
            XmlComment comment = dom.CreateComment("This is Goal a Year");
            XmlElement x;
            dom.AppendChild(comment);
            x = dom.CreateElement("Goal of a Year");
            dom.AppendChild(x);

            XmlElement stepXml = dom.CreateElement("Goalyear");
            XmlElement goalYearXml = dom.CreateElement("GoalStep");
            stepXml.InnerText = GoalYear;
            goalYearXml.AppendChild(stepXml);

            Windows.Storage.StorageFolder sf = await Windows.ApplicationModel.Package.Current.InstalledLocation.CreateFolderAsync("GoalPlan");
            StorageFile st = await sf.CreateFileAsync("GoalYear.xml");
            await dom.SaveToFileAsync(st);
        }
        public  ICommand NewFile
        {
            get
            {
                return new RelayCommand(() =>
                    {

                        NewFileXml();

                    });
            }
        }

我在波兰微软的帮助下做到了。也许有人要添加。

 private RelayCommand exampleContent;
            public RelayCommand ItIsBind
            {
                get
                {
                    return exampleContent ?? (exampleContent = new RelayCommand(ContentLoad));
                }
            }
**Method example**
public void ContentLoad()
{

}
4

2 回答 2

2

我不确定这是否适合你,但就我而言,我必须将我的 appbar 放在主网格内。所以你复制这个

<AppBar x:Name="AppBar" Background="#FF1DB05F">         
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">                  
    <Button x:Name="SaveButton" Style="{StaticResource AppBarButtonStyle}"
     Content="&#xE105;"

     AutomationProperties.Name="Save" >                       
       <WinRtBehaviors:Interaction.Behaviors>        
            <Win8nl_Behavior:EventToCommand etc...

没有

<Page.BottomAppBar> 

标签并将其粘贴到您的主网格标签中。

于 2013-02-20T13:03:30.977 回答
0

这里有几个可能的问题......

1)您的命令不是名为“NewFileXml”,而是“NewFile”
2)您似乎没有设置 DataContext - 您是否在其他地方执行此操作(如果是,您还没有显示)

于 2013-01-14T14:37:10.253 回答