【发布时间】:2018-11-27 07:47:37
【问题描述】:
我创建了一个 Xamarin 应用程序,并且我需要减小主从页面的主页面的宽度。 我遵循了一种方法来创建 UWP 特定的自定义渲染器。以下是我的代码:
[assembly: ExportRenderer(typeof(Xamarin.Forms.MasterDetailPage), typeof(CustomMasterDetailRenderer))]
namespace VirtusContactManager.App.UWP.Renderer
{
public class CustomMasterDetailRenderer : VisualElementRenderer<Xamarin.Forms.MasterDetailPage, MasterDetailControl>
{
MasterDetailControl control = new MasterDetailControl();
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.MasterDetailPage> e)
{
base.OnElementChanged(e);
control.Width = 120;
SetNativeControl(control);
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
control.Width = 120;
}
}
}
我已经创建了上面的自定义渲染器。我面临的问题是我无法设置 control.Master 的值,因为它是一个 FrameworkElement 而我想要的是一个页面。
control.Width 设置整个页面的宽度,而不仅仅是Master。
我应该如何将 control.Master 设置为页面。
如果这种方法不正确,请建议一种更好的方法来减少 UWP 中母版页的宽度。
【问题讨论】:
标签: c# .net xamarin.forms xamarin.uwp custom-renderer