Telerik日历不会出现

时间:2017-10-12 12:12:07

标签: xamarin xamarin.forms telerik

我有这个(从示例中复制)......

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:MyApp" x:Class="MyApp.MainPage" xmlns:telerikInput="clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.XamarinForms.Input">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <StackLayout Padding="5">
            <Label Text="Select a view mode" />
            <Picker x:Name="viewModePicker" />
        </StackLayout>
        <telerikInput:RadCalendar x:Name="calendar" NativeControlLoaded="CalendarLoaded" Grid.Row="1"/>
    </Grid>
</ContentPage>

和...

public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();

            calendar.DisplayDate = new DateTime(2017, 4, 12);

            viewModePicker.ItemsSource = Enum.GetValues(typeof(CalendarViewMode));
            viewModePicker.SelectedItem = CalendarViewMode.Day;
            viewModePicker.SelectedIndexChanged += ViewModeChanged;
        }

        private void ViewModeChanged(object sender, EventArgs e)
        {
            calendar.TrySetViewMode((CalendarViewMode)viewModePicker.SelectedItem);
        }

        private void CalendarLoaded(object sender, System.EventArgs e)
        {
            calendar.TrySetViewMode((CalendarViewMode)viewModePicker.SelectedItem);
        }
    }

一切正常,包括现有的日历实例,除了我看不到它!我正在使用iOS应用程序。

2 个答案:

答案 0 :(得分:1)

这对我来说很好:

StartPage.xaml.cs

using System;
using Telerik.XamarinForms.Input;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace TelerikXamarinApp1
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class StartPage : ContentPage
    {
        public StartPage()
        {
            InitializeComponent();

            calendar.DisplayDate = new DateTime(2017, 4, 12);

            viewModePicker.ItemsSource = Enum.GetValues(typeof(CalendarViewMode));
            viewModePicker.SelectedItem = CalendarViewMode.Day;
            viewModePicker.SelectedIndexChanged += ViewModeChanged;
        }

        private void ViewModeChanged(object sender, EventArgs e)
        {
     calendar.TrySetViewMode((CalendarViewMode)viewModePicker.SelectedItem);
        }

        private void CalendarLoaded(object sender, EventArgs e)
        {
     calendar.TrySetViewMode((CalendarViewMode)viewModePicker.SelectedItem);
        }
    }
}

StartPage.xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:telerikInput="clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.XamarinForms.Input"
         x:Class="TelerikXamarinApp1.StartPage">

    <ContentView.Content>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <StackLayout Padding="5">
                <Label Text="Select a view mode" />
                <Picker x:Name="viewModePicker" />
            </StackLayout>
            <telerikInput:RadCalendar x:Name="calendar" NativeControlLoaded="CalendarLoaded" Grid.Row="1" />
        </Grid>
    </ContentView.Content>
</ContentPage>

答案 1 :(得分:0)

我从Telerik Nuget服务器重新安装了DLL。一定是错过了什么,我没有意识到可以使用常规的Telerik网站凭据登录他们的服务器。

这导致日历出现在我的iPhone上但不出现在模拟器中。我将我的解决方案复制到Mac OS并使用Visual Studio Mac进行构建和部署,现在日历也出现在模拟器中。

此外,构建和部署时间似乎快两倍。不过,之前在Parallels上使用过Windows。