C# cs代码中加载 XAML
1、全局加载
csharp
ResourceDictionary languageResDic = new ResourceDictionary();
languageResDic.Source = new Uri("View/Theme.xaml", UriKind.RelativeOrAbsolute);
this.Resources.MergedDictionaries.Add(languageResDic);
2、动态加载外部xaml文件
csharp
using (FileStream s = new FileStream(@"C:\Users\Lin.net\Desktop\WpfApplication1\Xaml\Test.xaml", FileMode.Open))
{
Grid grid = XamlReader.Load(s) as Grid;
Window win = new Window1();
win.Content = grid;
win.ShowDialog();
}
3、动态加载内部xaml
1、动态加载
csharp
Button btn =new Button();
btn.SetValue(Button.StyleProperty, Application.Current.Resources["资源名称"]);
Style appButtonStyle = (Style)Application.Current.Resources["appButtonStyle"];
2、动态加载
csharp
4、Xaml引用内部xaml资源文件
1、资源文件
csharp
<Window.Resources>
<Style x:Key="myBtnStyle" TargetType="{x:Type Button}">
<Setter Property="Height" Value="72" />
<Setter Property="Width" Value="150" />
<Setter Property="Foreground" Value="Red" />
<Setter Property="Background" Value="Black" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
</Window.Resources>
2、加载
csharp
<Button Style="{StaticResource myBtnStyle}"></Button>
5、xaml资源文件引用xaml外部资源文件
1、资源文件
csharp
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib">
<Style x:Key="myBtnStyle" TargetType="Button">
<Setter Property="Height" Value="72" />
<Setter Property="Width" Value="150" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="Blue" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
</ResourceDictionary>
2、加载
csharp
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/应用名称;component/Theme/Style.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>