WPF 的另類資源方式 Resources.resx
阿新 • • 發佈:2019-01-04
新增新建項->資原始檔(resx)
類似Winform的搞法,可以把資源放到Resources.resx中。
1.字串
開啟這個編輯器後,輸入Name和Value就可以了。
CS程式碼裡面,很簡單的呼叫:
var title = WpfResource2.Properties.Resources.IDS_TEST_TITLE;
如果要用在XAML中,需要把Access Modifier改為public,原來是Internal。
XAML如下:
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>
2. 圖片資源
放入現有的檔案
這個不能在XAML裡面直接用了,cs程式碼裡面:
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;
3. 檔案,我嘗試加入了一個文字,好像預設的檔案格式也是文字,居然讀出來string了
var content = WpfResource2.Properties.Resources.test;
加入了一個其他格式的檔案,讀取到的是byte[]
var content = WpfResource2.Properties.Resources.New_Microsoft_Excel_Worksheet;
4. 還有其他型別,就不在一一實驗了。
不知道MUI,能否通過這種方式來搞。