none
Проблема с локализацией WPF приложения на VB.Net RRS feed

  • Вопрос

  • Задравствуйте,
    помогите решить проблему с локлизацией, нашел одни пример на C#, там написано, что вначале надо прописать так

    xmlns:res="clr-namespace:ИмяПриложения.Properties"

    а потом для локализуемого свойсва элемента управления так

    <Button Margin="10,0" Width="70" Click="Login_Click" Content="{x:Static res:Resources.LoginButton}"></Button>

    Я пишу на VB.Net и там нет Properties после имени проекта, я написал так, но я не уверен что это правильно, так как новичек в WPF, не уверен что использование My это правильно.

    xmlns:res="clr-namespace:ИмяПриложения.My"

    потом я пытаюсь, как и в примере использовать

    <Button Content="{x:Static res:Resources.btnStart}"... , но получаю сообщение что res:Resources - тип не найден. Подскажите что я делаю не так
    • Изменено SergejS 23 октября 2014 г. 7:06
    23 октября 2014 г. 7:02

Ответы

  • Вы мой проек загружали просматривали?
    Да. Вы ресурсы заполняете в свойствах проекта, а нужно в отдельных файлах.

    VB.Net - WPF, WinRT, WP

    • Помечено в качестве ответа SergejS 26 октября 2014 г. 13:57
    26 октября 2014 г. 13:42
    Отвечающий

Все ответы

  • Ссылочку на пример с которого вы делали дайте пожалуйста. Вы поняли пример слишком буквально, посмотрю попробую разъяснить.

    VB.Net - WPF, WinRT, WP

    23 октября 2014 г. 14:16
    Отвечающий
  • http://habrahabr.ru/post/86778/
    23 октября 2014 г. 15:37
  • Кто то обещал, попытаться разъяснить...?
    24 октября 2014 г. 6:23
  • Кто то обещал, попытаться разъяснить...?

    Кто то работает, поэтому не может моментально на все реагировать ;)

    Вообще не понятно почему у вас возникли трудности. Пример не заточен под C#, он вполне универсальный. Есть подозрения что вы скачали исходник и начали делать на его основе, не читав самой статьи. В статье косяк с отображением кода, но опять же это не страшно, та как по описанию все понятно.


    VB.Net - WPF, WinRT, WP

    24 октября 2014 г. 6:40
    Отвечающий
  • У меня возникли трудности потому что, во-первых я новечек в WPF! Во-вторых пример на C#, а я пишу на VB.Net, там другая стрктура проекта, и ошибку выдает VisualStudio, а не я! Поэтому я и спрашиваю, что я делаю не так. Если устанавливать это свойство в коде, то вызов действия такие:
    Me.btnStart.Content = My.Resources.btnStart
    но хотелось бы реализовать это в разметке.
    24 октября 2014 г. 7:15
  • Попробую в течение дня реализовать этот пример. Если получится кину код или исходник.

    VB.Net - WPF, WinRT, WP

    24 октября 2014 г. 7:21
    Отвечающий
  • Спасибо!
    24 октября 2014 г. 7:40
  • Ну в целом вы были максимально близки к решению задачи.

    Вот исходник, что в нем не понятно будет, спрашивайте.


    VB.Net - WPF, WinRT, WP

    26 октября 2014 г. 8:33
    Отвечающий
  • Спасибо за пример, но у меня проблема осталась, мой проект в VS 2010, Ваш VS 2012. Может я что-то упустил, я сделал следующее:
    1. прописал объявление xmlns:res="clr-namespace:WpfLocalizationSample.My.Resources"

    2. добавил для локализуемого свойства Content="{x:Static res:Resource.CancelButoon}"

    нужно еще что-то сделать? VS выдает сообщение: "тип Resource не найде", сейчас загружаю VS 2013 Express, устанавлю, может структура поекта опять отличается.

    26 октября 2014 г. 10:13
  • Спасибо за пример, но у меня проблема осталась, мой проект в VS 2010, Ваш VS 2012. Может я что-то упустил, я сделал следующее:
    1. прописал объявление xmlns:res="clr-namespace:WpfLocalizationSample.My.Resources"

    2. добавил для локализуемого свойства Content="{x:Static res:Resource.CancelButoon}"

    нужно еще что-то сделать? VS выдает сообщение: "тип Resource не найде", сейчас загружаю VS 2013 Express, устанавлю, может структура поекта опять отличается.

    Ну либо грузите VS 2013 либо кинте мне ваш тестовый проект, а я гляну чего там не так.

    VB.Net - WPF, WinRT, WP

    26 октября 2014 г. 10:15
    Отвечающий
  • Куда можно кинуть?
    26 октября 2014 г. 10:19
  • В вашем проекте в My Project есть еще папка Res, в которой находятся ресурсный файлы, а у меня ее нет...
    26 октября 2014 г. 10:43
  • В вашем проекте в My Project есть еще папка Res, в которой находятся ресурсный файлы, а у меня ее нет...

    Так у вас получилось в итоге?

    Ваш проект кидайте в любое облако, а сюда ссылку


    VB.Net - WPF, WinRT, WP

    26 октября 2014 г. 12:20
    Отвечающий
  • нет, не могу я найти правильное объявление этих типов или namespace, вот ссылка на мой проект
    26 октября 2014 г. 13:00
  • В общем вам быстрее скачать VS2013 Express, чем я буду объяснять что вы делаете не так. Посмотрите мой проект и быстро сможете переделать свой.

    VB.Net - WPF, WinRT, WP

    26 октября 2014 г. 13:10
    Отвечающий
  • Я скачал, установил, если в вашем проекте пути отображаются при вводе точки, но если я открываю мой проект, там таких "подсказок" нет и выдаются сообщение, что таких типов, namespace, CLR-Namespace, не существует или не найдены

    26 октября 2014 г. 13:32
  • Я скачал, установил, если в вашем проекте пути отображаются при вводе точки, но если я открываю мой проект, там таких "подсказок" нет и выдаются сообщение, что таких типов, namespace, CLR-Namespace, не существует или не найдены

    Затрудняюсь сказать что именно у вас не работает. Пробуйте переделывать свой проект в точности с моим. В частности ресурсы нужно запихнуть в папку "Res" и там для каждого языка создавать свой файл ресурсов resx

    VB.Net - WPF, WinRT, WP

    26 октября 2014 г. 13:34
    Отвечающий
  • Вы мой проек загружали просматривали?
    26 октября 2014 г. 13:40
  • Вы мой проек загружали просматривали?
    Да. Вы ресурсы заполняете в свойствах проекта, а нужно в отдельных файлах.

    VB.Net - WPF, WinRT, WP

    • Помечено в качестве ответа SergejS 26 октября 2014 г. 13:57
    26 октября 2014 г. 13:42
    Отвечающий
  • Да перенес, как Вы сказали все заработало!!! Спасибо большое!
    26 октября 2014 г. 13:57