Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows phone 8上创建警报时出错?_C#_Windows Phone 8 - Fatal编程技术网

C# 在windows phone 8上创建警报时出错?

C# 在windows phone 8上创建警报时出错?,c#,windows-phone-8,C#,Windows Phone 8,在我的应用程序中,我有一个闹钟,定于今天2013年6月25日(BeginTime)开始,比当前时间晚几个小时。在构建时,我出现了一个错误“Microsoft.Phone.ni.dll中发生了“System.InvalidOperationException”类型的异常,但未在用户代码中处理。但我将开始时间更改为将来的任何一天,它都可以正常工作。我按照说明进行操作。我怎样才能创建一个今天有星光时间的闹钟 这是我的代码: XAML: 和C#: private void ApplicationBa

在我的应用程序中,我有一个闹钟,定于今天2013年6月25日(BeginTime)开始,比当前时间晚几个小时。在构建时,我出现了一个错误“Microsoft.Phone.ni.dll中发生了“System.InvalidOperationException”类型的异常,但未在用户代码中处理。但我将开始时间更改为将来的任何一天,它都可以正常工作。我按照说明进行操作。我怎样才能创建一个今天有星光时间的闹钟

这是我的代码: XAML:


和C#:

private void ApplicationBarSaveButton\u单击(对象发送方,事件参数e)
{
字符串名称=System.Guid.NewGuid().ToString();
DateTime日期=(DateTime)beginDatePicker.Value;
DateTime time=(DateTime)beginTimePicker.Value;
DateTime beginTime=日期+时间.TimeOfDay;
if(beginTime
我复制了您的代码,没有任何更改,除了这行代码外,它可以正常工作:

alarm.Sound=newURI(“/Ringtones/Ring01.wma”,UriKind.Relative)

这使得它在每次添加警报时崩溃,如果该行未被删除(或该文件已添加到手机中)


只需将其注释掉,您的代码就会正常工作。

您需要发布您正在使用的代码,更重要的是,发布异常消息。您没有提供足够的信息,而且很可能您根本没有为将来的警报设置时间。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <ScrollViewer>
            <StackPanel Orientation="Vertical">
                <StackPanel Orientation="Horizontal">
                    <RadioButton Content="Reminder" Name="reminderRadioButton" GroupName="ReminderOrAlarm" IsChecked="True"></RadioButton>
                    <RadioButton Content="Alarm" Name="alarmRadioButton" GroupName="ReminderOrAlarm" ></RadioButton>
                </StackPanel>
                <TextBlock Height="30" HorizontalAlignment="Left"  Name="titleLabel" Text="title" VerticalAlignment="Top" />
                <TextBox Height="72" HorizontalAlignment="Left"  Name="titleTextBox" Text="" VerticalAlignment="Top" Width="460" MaxLength="63"/>
                <TextBlock Height="30" HorizontalAlignment="Left"  Name="contentLabel" Text="content" VerticalAlignment="Top" />
                <TextBox Height="160" HorizontalAlignment="Left"  Name="contentTextBox" Text="" VerticalAlignment="Top" Width="460" TextWrapping="Wrap" MaxLength="256" AcceptsReturn="True" />
                <TextBlock Height="30" HorizontalAlignment="Left"  Name="beginTimeLabel" Text="begin time" VerticalAlignment="Top" />
                <StackPanel Orientation="Horizontal">
                    <toolkit:DatePicker x:Name="beginDatePicker" Width="220" HorizontalAlignment="Left"></toolkit:DatePicker>
                    <toolkit:TimePicker x:Name="beginTimePicker"  Width="220" HorizontalAlignment="Right"></toolkit:TimePicker>
                </StackPanel>
                <TextBlock Height="30" HorizontalAlignment="Left"  Name="expirationTimeLabel" Text="expiration time" VerticalAlignment="Top" />
                <StackPanel Orientation="Horizontal">
                    <toolkit:DatePicker x:Name="expirationDatePicker" Width="220" HorizontalAlignment="Left"></toolkit:DatePicker>
                    <toolkit:TimePicker x:Name="expirationTimePicker" Width="220" HorizontalAlignment="Right"></toolkit:TimePicker>
                </StackPanel>
                <Grid>
                    <RadioButton Content="once" Height="72" HorizontalAlignment="Left" Margin="0,0,0,0" Name="onceRadioButton" VerticalAlignment="Top" GroupName="ScheduleInterval" IsChecked="True"/>
                    <RadioButton Content="weekly" Height="72" HorizontalAlignment="Left" Margin="0,70,0,0" Name="weeklyRadioButton" VerticalAlignment="Top" GroupName="ScheduleInterval"/>
                    <RadioButton Content="daily" Height="72" HorizontalAlignment="Left" Margin="0,140,0,0" Name="dailyRadioButton" VerticalAlignment="Top" GroupName="ScheduleInterval"/>
                    <RadioButton Content="monthly" Height="72" HorizontalAlignment="Left" Margin="240,0,0,0" Name="monthlyRadioButton" VerticalAlignment="Top" GroupName="ScheduleInterval"/>
                    <RadioButton Content="end of month" Height="72" HorizontalAlignment="Left" Margin="240,70,0,0" Name="endOfMonthRadioButton" VerticalAlignment="Top" GroupName="ScheduleInterval"/>
                    <RadioButton Content="yearly" Height="72" HorizontalAlignment="Left" Margin="240,140,0,0" Name="yearlyRadioButton" VerticalAlignment="Top" GroupName="ScheduleInterval"/>
                </Grid>
                <TextBlock Height="30" HorizontalAlignment="Left" Name="param1Label" Text="context parameter 1" VerticalAlignment="Top" />
                <TextBox Height="72" HorizontalAlignment="Left" Name="param1TextBox" Text="" VerticalAlignment="Top" Width="440" MaxLength="63"/>
                <TextBlock Height="30" HorizontalAlignment="Left" Name="param2Label" Text="context parameter 2" VerticalAlignment="Top" />
                <TextBox Height="72" HorizontalAlignment="Left" Name="param2TextBox" Text="" VerticalAlignment="Top" Width="440" MaxLength="63"/>

            </StackPanel>
        </ScrollViewer>
    </Grid>
private void ApplicationBarSaveButton_Click(object sender, EventArgs e)
    {
        String name = System.Guid.NewGuid().ToString();
        DateTime date = (DateTime)beginDatePicker.Value;
        DateTime time = (DateTime)beginTimePicker.Value;
        DateTime beginTime = date + time.TimeOfDay;
        if (beginTime < DateTime.Now)
        {
            MessageBox.Show("the begin date must be in the future.");
            return;
        }
        date = (DateTime)expirationDatePicker.Value;
        time = (DateTime)expirationTimePicker.Value;
        DateTime expirationTime = date + time.TimeOfDay;

        if (expirationTime < beginTime)
        {
            MessageBox.Show("expiration time must be after the begin time.");
            return;
        }
        RecurrenceInterval recurrence = RecurrenceInterval.None;
        if (dailyRadioButton.IsChecked == true)
        {
            recurrence = RecurrenceInterval.Daily;
        }
        else if (weeklyRadioButton.IsChecked == true)
        {
            recurrence = RecurrenceInterval.Weekly;
        }
        else if (monthlyRadioButton.IsChecked == true)
        {
            recurrence = RecurrenceInterval.Monthly;
        }
        else if (endOfMonthRadioButton.IsChecked == true)
        {
            recurrence = RecurrenceInterval.EndOfMonth;
        }
        else if (yearlyRadioButton.IsChecked == true)
        {
            recurrence = RecurrenceInterval.Yearly;
        }

        string param1Value = param1TextBox.Text;
        string param2Value = param2TextBox.Text;
        string queryString = "";
        if (param1Value != "" && param2Value != "")
        {
            queryString = "?param1=" + param1Value + "&param2=" + param2Value;
        }
        else if (param1Value != "" || param2Value != "")
        {
            queryString = (param1Value != null) ? "?param1=" + param1Value : "?param2=" + param2Value;
        }
        Uri navigationUri = new Uri("/ShowParams.xaml" + queryString, UriKind.Relative);
        if ((bool)reminderRadioButton.IsChecked)
        {
            Reminder reminder = new Reminder(name);
            reminder.Title = titleTextBox.Text;
            reminder.Content = contentTextBox.Text;
            reminder.BeginTime = beginTime;
            reminder.ExpirationTime = expirationTime;
            reminder.RecurrenceType = recurrence;
            reminder.NavigationUri = navigationUri;

            // Register the reminder with the system.
            ScheduledActionService.Add(reminder);
        }
        else
        {
            Alarm alarm = new Alarm(name);
            alarm.Content = contentTextBox.Text;
            alarm.Sound = new Uri("/Ringtones/Ring01.wma", UriKind.Relative);
            alarm.BeginTime = beginTime;
            alarm.ExpirationTime = expirationTime;
            alarm.RecurrenceType = recurrence;

            ScheduledActionService.Add(alarm);
        }
        // Navigate back to the main reminder list page.
        NavigationService.GoBack();

    }