WP7 のツールキットに関連付けられている DatePicker と TimePicker をローカライズしようとしていますが、ヘッダーとアプリケーション バーのテキストにアクセスする方法がわかりません。これらのタスクを達成する方法を示すリンクを見つけることができませんでした。有用なリンクはありますか、または誰かがこれがどのように達成されるかの情報源を持っていますか?
質問する
1444 次
3 に答える
2
- Toolkit の最新バージョン (2011 年 11 月) のソースとサンプルをダウンロードする最も簡単な方法
DatePicker
ですTimePicker
。 - それをプロジェクト参照としてソリューションに追加します。
2011 年 11 月より前のバージョンの Toolkit を使用している場合は、
- ソリューションのプロジェクト参照として再度追加します
- プロジェクトの側では、ソリューションに取り入れました。必要な resx ファイルを追加します。日付ピッカー用の英語のテキストを含むデフォルトの Resources.resx ファイルがあることがわかります。他の言語に必要な resx ファイルを追加します。
于 2012-07-20T05:35:32.030 に答える
1
それは非常に簡単です: パラメータ - 言語。Xaml コード:
<toolkit:DatePicker Language="ru-RU" Margin="-12, 0" Value="{Binding BirthDate, Mode=TwoWay}" />
于 2014-05-19T13:32:14.620 に答える
0
XAML ソースを変更しない別の方法は、ページの読み込み後に "HeaderTitle" TextBlock を変更することです。
/// <summary>
/// Called from app.xaml.cs if the user navigates to the DatePickerPage
/// </summary>
/// <param name="page">The page.</param>
public static void DatePickerHook(PhoneApplicationPage page)
{
// Somehow modify the text on the top of the page...
LoopThroughControls(page, (ui => {
var tb = ui as TextBlock;
if (tb != null && tb.Name == "HeaderTitle")
{
tb.Text = "<<Local Translation>>";
}
}));
}
/// <summary>
/// Applies an action to every element on a page
/// </summary>
/// <param name="parent">The parent.</param>
/// <param name="modifier">The modifier.</param>
private static void LoopThroughControls(UIElement parent, Action<UIElement> modifier)
{
int count = VisualTreeHelper.GetChildrenCount(parent);
if (count > 0)
{
for (int i = 0; i < count; i++)
{
UIElement child = (UIElement)VisualTreeHelper.GetChild(parent, i);
modifier(child);
LoopThroughControls(child, modifier);
}
}
return;
}
app.xaml.cs への変更についても説明しているブログ投稿へのリンクは次のとおりです。
于 2015-11-09T13:08:50.100 に答える