2017-10-12 57 views
0

我有这个(从例子中复制)...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应用程序。

回答

0

我重新安装从Telerik的的NuGet服务器的DLL。一定是错过了一些东西,我没有意识到可以使用一个普通的Telerik网站凭证登录到他们的服务器。

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

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

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> 
+0

没有更改我的代码? –

+0

它看起来像你没有'telerikInput'添加到你的xaml文件。此外,很难诊断为什么“它只是没有出现”。看看xamarin日志或设备日志,看看它是否为一个指标,为什么 – heinst

+0

但是,精确的组合xaml和codebehind为我工作,所以我想我会张贴它,看看你是否有不同的结果 – heinst