[英]Access to string.xml Xamarin.Forms
我需要訪問 Resources 文件夾上的 string.xml 來制作我的多語言應用程序。
我正試圖找到一種方法來做到這一點。 應該很簡單,但我沒有找到並回答。 這是我的string.xml
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<string name="Text">Text</string>
</resources>
我需要將屬性文本設置為我的按鈕。 我試試這個,但它不起作用。
<Button x:Name="btn" Text="@string/Text"/>
我還需要通過可編程性設置屬性。 索莫之類的東西:
btn.Text=Resources.GetString(Resource.String.Text);
我怎么能做到?
謝謝你。
不需要在 xamarin.forms 中使用這樣的資源文件。 查看這篇文章,這將幫助您:
你所做的,我們通常在 Xamarin.Android 項目中而不是在 Xamarin.Forms 中遵循。
你的 string.xml 文件
<resources>
<string name="app_name">My Application</string>
<string name="Text">Text</string>
</resources>
然后您可以在 XML 文件中添加一個按鈕,例如-
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Text" />
如果您想在 Android 上使用 Strings.xml 執行此操作,請從 MainActivity 獲取文本值並將文本作為參數傳遞給 MainPage。
為不同的語言創建不同的 Strings.xml 文件。
默認值:值/Strings.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<string name="app_name">Default</string>
<string name="taskcancel">Cancel</string>
</resources>
西班牙語:values-es/Strings.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<string name="app_name">Spanish</string>
<string name="taskcancel">Cancelar</string>
</resources>
主要活動:
public string STR { get; set; }
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
STR = Resources.GetText(Resource.String.taskcancel);
LoadApplication(new App(STR));
}
應用程序.xaml.cs:
public App(string text)
{
InitializeComponent();
MainPage = new MainPage(text);
}
主頁:
public MainPage(string text)
{
InitializeComponent();
label.Text = text;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.