目前正在开发一个我想使用AppCompat的项目,并且在大多数页面上都要求设置标题和副标题.
它根本不能使用AppCompat - 既不设置属性也不使用自定义视图.
不使用AppCompat时,两者都按预期工作.这里有完整的源代码,所以如果你好奇的话就运行应用程序:)
using System.ComponentModel;
using Android.App;
using Android.Widget;
using App1.Droid.Renderers;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
#if __APPCOMPAT__
using NavigationRenderer = Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer;
#else
using NavigationRenderer = Xamarin.Forms.Platform.Android.NavigationRenderer;
#endif
[assembly: ExportRenderer(typeof(NavigationPage), typeof(NavigationPageRenderer))]
namespace App1.Droid.Renderers
{
public class NavigationPageRenderer : NavigationRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e)
{
base.OnElementChanged(e);
SetCustomView(e.NewElement.CurrentPage.GetType().Name);
}
private void SetCustomView(string view)
{
var activity = (Activity)Context;
#if __APPCOMPAT__
var actionBar = ((FormsAppCompatActivity)Context).SupportActionBar;
#else
var actionBar = activity.ActionBar;
#endif
actionBar.Title = view;
actionBar.Subtitle = " -> …Run Code Online (Sandbox Code Playgroud) 我有以下多对多关系建模
public class Profile
{
ICollection<Category> Categories { get; set;}
// One-To-Many
ICollection<Platform> Platforms { get; set; }
}
public class Category
{
ICollection<Profile> Profiles { get; set; }
}
public class ProfileCategory
{
public int ProfileId { get; set; }
public Profile Profile { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 ASP.NET Core MVC 并有一个过滤器视图模型,其中对配置文件名称的某些属性进行过滤并且它可以工作。
尝试根据类别进行过滤被证明更难实现(至少解决方案对我来说并不明显:)
从网络上,用户可以选择零个、一个或多个类别进行过滤,因此基本上发送到我的控制器的是类别 ID 列表。
IQueryable<Profile> query = _context.Profiles.Include(p => p.Categories).Include(p => p.Platforms);
if(string.IsNullOrEmpty(search.Name)) …Run Code Online (Sandbox Code Playgroud)