semi.avalonia 资源使用

第一步、新建一个avalonia项目(需安装avalonia模板),引入semi.avalonia nuget包,

第二步、在App.axaml中添加命名空间 xmlns:semi="https://irihi.tech/semi" 和样式

	<Application.Styles>
		<semi:SemiTheme Locale="zh-CN" />
		<semi:DataGridSemiTheme />
		<semi:DockSemiTheme />
		<semi:AvaloniaEditSemiTheme />
	</Application.Styles>

  

第三步、使用semi.avalonia中的控件和样式,在MainView.axaml中编写

<DockPanel>
	<Grid DockPanel.Dock="Top" ColumnDefinitions="*,Auto" >
		<Menu >
			<MenuItem Header="菜单1">
				<MenuItem Header="子菜单1"></MenuItem>
				<MenuItem Header="子菜单2"></MenuItem>
			</MenuItem>
			<MenuItem Header="菜单2">
				<MenuItem Header="子菜单1"></MenuItem>
			</MenuItem>
		</Menu>

	<StackPanel Grid.Column="1"  Orientation="Horizontal" VerticalAlignment="Center">
		<ToggleSwitch  Theme="{DynamicResource IconBorderlessToggleSwitch}" 
			  OnContent="{StaticResource SemiIconMoon}"
			  OffContent="{StaticResource SemiIconSun}"
			  Command="{Binding ThemeChangCommand}"
			  >
			
		</ToggleSwitch>
	</StackPanel>
	</Grid>
	
	<TabControl DockPanel.Dock="Bottom" TabStripPlacement="Left" Margin="8" Padding="8" >
					
				</TabControl>

</DockPanel>

 界面如下:

image

 

 

image

 非常nice,可以切换深浅主题,但是ToggleSwitch样式和官方Demo不一样,代码一样,样式不一样:

 

image

 

image

应该是资源没有找到,在官方的demo的App.axaml中的资源是这样的

 <Application.Resources>
     <ResourceDictionary>
         <ResourceDictionary.MergedDictionaries>
             <ResourceInclude Source="Themes/_index.axaml" />
         </ResourceDictionary.MergedDictionaries>
     </ResourceDictionary>
 </Application.Resources>

打开目录

image

 

在Themes文件中有ToggleSwitch.axaml,就是Demo中ToggleSwitch的资源,在自己的项目中新建一个文件夹Themes,把ToggleSwitch.axaml拷贝过来;

image

 然后在App.axaml中添加资源

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceInclude Source="/Themes/ToggleSwitch.axaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

 重新编译之后,ToggleSwitch样式就和官方的Demo一样了

image

 

image

 

posted on 2025-11-06 13:32  spbud  阅读(203)  评论(0)    收藏  举报