Xaml AvaloniUI样式伪类

Xaml AvaloniUI样式伪类,xaml,avaloniaui,avalonia,Xaml,Avaloniaui,Avalonia,我在阿瓦隆尼亚和大多数作品中尝试各种风格,除了伪类,它们只是被忽略了 我已经创建了一个窗口,所有的样式都在其中,并且我已经创建了一个带有按钮的用户控件——伪类在按钮上,使用样式。我不使用代码,只使用xaml来定义样式 我已经在按钮的样式选择器中尝试过了button:pseudoclassname和button.le:pseudoclassname。我还尝试了Button:pointerover和Button:hover,因为文档中提到可以修改它们。没有结果。伪类的样式都被忽略,其他的都被正确执行

我在阿瓦隆尼亚和大多数作品中尝试各种风格,除了伪类,它们只是被忽略了

我已经创建了一个窗口,所有的样式都在其中,并且我已经创建了一个带有按钮的用户控件——伪类在按钮上,使用样式。我不使用代码,只使用xaml来定义样式

我已经在按钮的样式选择器中尝试过了button:pseudoclassname和button.le:pseudoclassname。我还尝试了Button:pointerover和Button:hover,因为文档中提到可以修改它们。没有结果。伪类的样式都被忽略,其他的都被正确执行

是我做错了什么,还是这是阿瓦隆尼亚的一只虫子

xaml windows文件:

按钮的背景属性确实会受到样式的影响,但此时它对实际按钮的背景没有影响,因为背景属性仅控制按钮的正常状态

如果查看默认按钮样式,可以看到它通过TemplateBinding将其背景传递给ContentPresenter:

按钮的背景属性确实会受到样式的影响,但此时它对实际按钮的背景没有影响,因为背景属性仅控制按钮的正常状态

如果查看默认按钮样式,可以看到它通过TemplateBinding将其背景传递给ContentPresenter:


凯克斯给出的答案是我所问问题的正确答案

然而,我使用这个空间是希望帮助avalonia的新手用户,就像我一样,根本没有xaml背景。我们大多数人都关注avalonia,为我们的应用程序提供一个在Windows/Mac/Linux上运行的界面。老实说,在写这篇文章的时候,c语言中还没有真正的替代品

目前,Avalonia确实有一些很好的示例和文档,但对于没有xaml背景的人来说,情况并非如此

因此,去Udemy或LikedIn.Learning或Youtube或任何你找到WPF好课程的地方,然后去Avalonia的文档并开始玩

阿瓦隆尼亚和WPF的共同点是巨大的!!!是的,它在文档中提到过几次,但是如果您是xaml新手,请务必先学习WPF!在文档的首页上,我可以节省大量的时间,通过网站找到所有这些信息


公平是公平的,该项目仍处于测试阶段,该网站已经为该阶段做好了充分的记录,所以不要责怪团队

凯克斯给出的答案是我所问问题的正确答案

然而,我使用这个空间是希望帮助avalonia的新手用户,就像我一样,根本没有xaml背景。我们大多数人都关注avalonia,为我们的应用程序提供一个在Windows/Mac/Linux上运行的界面。老实说,在写这篇文章的时候,c语言中还没有真正的替代品

目前,Avalonia确实有一些很好的示例和文档,但对于没有xaml背景的人来说,情况并非如此

因此,去Udemy或LikedIn.Learning或Youtube或任何你找到WPF好课程的地方,然后去Avalonia的文档并开始玩

阿瓦隆尼亚和WPF的共同点是巨大的!!!是的,它在文档中提到过几次,但是如果您是xaml新手,请务必先学习WPF!在文档的首页上,我可以节省大量的时间,通过网站找到所有这些信息


公平是公平的,该项目仍处于测试阶段,该网站已经为该阶段做好了充分的记录,所以不要责怪团队

谢谢你的解释,凯克斯!如果文档中提到了这一点,那就太好了。但我还有一个问题。fluent不是metro的继承者吗,所以只有microsoft/windows?我不明白为什么默认主题和流畅主题会有所不同?我能想到的唯一一件事是,在后台,avalonia仅在windows上使用fluent,在其他平台上使用默认主题,这是正确的假设吗?好的,我试过了,对于按钮,这非常有效,我必须修改一些属性名,但它们可以在您指向的avalonia/button.xaml文件中找到。但是如果我试着这样做,比如一个TextBlock,就会出现两个问题:1-在您指向的控件目录中没有TextBlock xaml文件,因此不可能知道属性名。2-例如,如果我尝试,我不会得到错误,但它不起作用。我的属性未被覆盖。TextBlock不是无外观的con
trol,因此它没有模板。在样式设置器中,附加说明应该显示属性名称的完成情况。对于不太复杂的IDE,可以键入TextBlock tb=null;结核病。在你的C编辑器中,它也会显示属性名。再次感谢你的回答。我正在使用Rider,我确实得到了一些建议,但我认为主要的问题不是IDE,而是我对xaml了解不够。我有Winforms、JavaFx、Spring和QML方面的坚实背景,但没有xaml wpf/uwp方面的背景。因此,我将首先学习一门关于WPF的课程,因为这是我读到的最接近阿瓦隆尼亚的课程,然后从那里转到阿瓦隆尼亚,我可能会在Visual Studio中并排学习WPF,在Rider中并排学习Avalona。谢谢你的解释!如果文档中提到了这一点,那就太好了。但我还有一个问题。fluent不是metro的继承者吗,所以只有microsoft/windows?我不明白为什么默认主题和流畅主题会有所不同?我能想到的唯一一件事是,在后台,avalonia仅在windows上使用fluent,在其他平台上使用默认主题,这是正确的假设吗?好的,我试过了,对于按钮,这非常有效,我必须修改一些属性名,但它们可以在您指向的avalonia/button.xaml文件中找到。但是如果我试着这样做,比如一个TextBlock,就会出现两个问题:1-在您指向的控件目录中没有TextBlock xaml文件,因此不可能知道属性名。2-例如,如果我尝试,我不会得到错误,但它不起作用。我的属性未被重写。TextBlock不是无外观控件,因此没有该控件的模板。在样式设置器中,附加说明应该显示属性名称的完成情况。对于不太复杂的IDE,可以键入TextBlock tb=null;结核病。在你的C编辑器中,它也会显示属性名。再次感谢你的回答。我正在使用Rider,我确实得到了一些建议,但我认为主要的问题不是IDE,而是我对xaml了解不够。我有Winforms、JavaFx、Spring和QML方面的坚实背景,但没有xaml wpf/uwp方面的背景。因此,我将首先学习一门关于WPF的课程,因为这是我读到的最接近阿瓦隆尼亚的课程,然后从那里转到阿瓦隆尼亚,我可能会在Visual Studio中并排学习WPF,在Rider中并排学习Avalona。