我们正在构建一个Xamarin Forms应用程序,我们注意到我们可以通过在App.xaml ResourceDictionary中创建样式来以两种方式设置元素样式
Class和StyleClass选项
在App.xaml中我们会写
<Style Class="EntryStandard" TargetType="Entry">
<Setter Property="TextColor" Value="#575e62" />
<Setter Property="BackgroundColor" Value="#9facb3" />
<Setter Property="FontSize" Value="14" />
</Style>
Run Code Online (Sandbox Code Playgroud)
然后,这将在其中一个内容页面中使用
<Entry StyleClass="EntryStandard" Placeholder="Login Name" Text="{Binding EntryEmailAddress}" />
Run Code Online (Sandbox Code Playgroud)
键和样式选项
这是我们在App.xaml下编写的内容
<Style x:Key="ButtonMainMenu_Purple" TargetType="Button">
<Setter Property="BackgroundColor" Value="#5d4785" />
<Setter Property="FontSize" Value="14" />
<Setter Property="TextColor" Value="#FFFFFF" />
</Style>
Run Code Online (Sandbox Code Playgroud)
然后我们在内容页面中使用以下内容
<Button Style="{StaticResource ButtonMainMenu_Purple}" Text="Friends" Command="{Binding OnFriendsButtonCommand}" />
Run Code Online (Sandbox Code Playgroud)
两者都很好,我只是想知道哪一个比另一个好,为什么?
我有一个Xamarin Forms Frame的自定义渲染器:CustomFrameRenderer.Xaml示例如下
<controls:ExtendedFrame Margin="2,0,2,0"
BackgroundColor="Red"
HorizontalOptions="FillAndExpand"
OutlineColor="Red"
Padding="0,0,0,0">
<Label Text="This is a test"/>
</controls:ExtendedFrame>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我将bacground颜色绑定到这样的属性,
<controls:ExtendedFrame Margin="2,0,2,0"
BackgroundColor="{Binding FrameBackground}"
HorizontalOptions="FillAndExpand"
OutlineColor="{Binding FrameBackground}"
Padding="0,0,0,0">
Run Code Online (Sandbox Code Playgroud)
框架根据ListView中选择的项目更新颜色.现在,如果我使用标准框架,它可以完美地运行.但我使用带圆角的自定义框架,我在Android中遇到此错误.
Java.Lang.NullPointerException:尝试在空对象引用上调用虚方法'boolean android.graphics.Bitmap.isMutable()'
任何帮助表示赞赏.
我正在Asp.Net Core Web Api中构建自定义验证属性。我需要访问验证器中的IDataProtector和用于访问数据库的其他服务。我已经搜索过,并且没有找到有关此内容的任何文档。ActionFilters可以选择使用ServiceFilter,但是Validation Attribute似乎没有任何选择。有任何想法吗?
我刚刚开始使用 HangFire。当我从 IIS Express 本地运行它时,这些作业似乎工作正常,但是当我在我的开发服务器上运行它时,我收到没有定义无参数构造函数的错误。我之前使用的是 Simple Injector,但现在我已经转向 Autofac。
public class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
ConfigureIoc(app);
ConfigureRoutes();
ConfigureHangfire(app);
ScheduleXeroMonitor();
}
public void ConfigureHangfire(IAppBuilder app)
{
var authList = new List<IDashboardAuthorizationFilter>
{
new ClaimsBasedAuthorizationFilter("role", "admin")
};
var options = new DashboardOptions
{
Authorization = authList,
AppPath = "/Manage"
};
app.UseHangfireDashboard("/hangfire", options);
app.UseHangfireServer();
}
public void ConfigureRoutes()
{
BundleTable.EnableOptimizations = true;
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
public void ConfigureIoc(IAppBuilder app)
{
var builder = DependencyRegistrar.RegisterClasses();
var container = builder.Build(); …Run Code Online (Sandbox Code Playgroud) 此命令似乎不适用于 Windows。当我输入命令时
git rm -r --cached.
Run Code Online (Sandbox Code Playgroud)
这就是我得到的
usage: git rm [<options>] [--] <file>...
-n, --dry-run dry run
-q, --quiet do not list removed files
--cached only remove from the index
-f, --force override the up-to-date check
-r allow recursive removal
--ignore-unmatch exit with a zero status even if nothing matched
Run Code Online (Sandbox Code Playgroud)
帮助??
asp.net-mvc ×2
android ×1
asp.net-core ×1
c# ×1
git ×1
hangfire ×1
mvvm ×1
styles ×1
windows ×1
xaml ×1