类似Winform的搞法,可以把资源放到Resources.resx中。

 

1.字符串

打开这个编辑器后,输入Name和Value就可以了。

WPF 的另类资源方式 Resources.resx

CS代码里面,很简单的调用:

var title = WpfResource2.Properties.Resources.IDS_TEST_TITLE;

如果要用在XAML中,需要把Access Modifier改为public,原来是Internal。

WPF 的另类资源方式 Resources.resx

XAML如下:

WPF 的另类资源方式 Resources.resx
1 <Window x:Class="WpfResource2.MainWindow"
2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4         xmlns:res="clr-namespace:WpfResource2.Properties"
5         Title="MainWindow" Height="350" Width="525">
6   <Grid>
7     <TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Text="{x:Static res:Resources.IDS_TEST_TITLE}">
8 
9     </TextBlock>
WPF 的另类资源方式 Resources.resx

 

2. 图片资源

放入现有的文件

WPF 的另类资源方式 Resources.resx

这个不能在XAML里面直接用了,cs代码里面:

WPF 的另类资源方式 Resources.resx
   var testImg = WpfResource2.Properties.Resources.IC371904;
            MemoryStream memory = new MemoryStream();
            testImg.Save(memory, System.Drawing.Imaging.ImageFormat.Png);
            ImageSourceConverter converter = new ImageSourceConverter();
            ImageSource source = (ImageSource)converter.ConvertFrom(memory);
            img.Source = source;
WPF 的另类资源方式 Resources.resx

3. 文件,我尝试加入了一个文本,好像默认的文件格式也是文本,居然读出来string了

var content = WpfResource2.Properties.Resources.test;

加入了一个其他格式的文件,读取到的是byte[]

var content = WpfResource2.Properties.Resources.New_Microsoft_Excel_Worksheet;

4. 还有其他类型,就不在一一实验了。

不知道MUI,能否通过这种方式来搞。

相关文章:

  • 2022-12-23
  • 2021-08-20
  • 2021-09-18
  • 2021-07-30
猜你喜欢
  • 2022-12-23
  • 2022-03-02
  • 2021-06-15
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案