小编joa*_*car的帖子

Xamarin.Forms自定义Android NavigationPageRenderer标题和副标题

目前正在开发一个我想使用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)

xamarin.android xamarin xamarin.forms

6
推荐指数
1
解决办法
5051
查看次数

EF Core 多对多提取查询

我有以下多对多关系建模

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)

entity-framework-core asp.net-core-mvc

4
推荐指数
1
解决办法
3315
查看次数