Назначить содержимое файла xaml свойству App.ViewModel? - PullRequest
1 голос
/ 15 января 2012

Я определил свою полную модель представления, используя XAML:

<local:TestViewModel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                     xmlns:local="clr-namespace:icColors"
                     SampleProperty="Sample Text Property Value">

    <local:TestViewModel.Questions>
     ....
    </local:TestViewModel.Questions>
</local:TestViewModel>

Как можно проанализировать этот XAML во время выполнения и установить в качестве свойства моего приложения App.TestViewModel?

1 Ответ

1 голос
/ 15 января 2012

Вы можете анализировать XAML во время выполнения, используя класс XAMLReader .Просто проанализируйте ваш XAML, используя метод XamlReader.Load, затем присвойте его (не забывая о приведении результата).Вот пример кода:

System.Windows.Resources.StreamResourceInfo streamInfo = System.Windows.Application.GetResourceStream(uri);

if ((streamInfo != null) && (streamInfo.Stream != null))
{
    using (System.IO.StreamReader reader = new System.IO.StreamReader(streamInfo.Stream))
    {
        TestViewModel vm = System.Windows.Markup.XamlReader.Load(reader.ReadToEnd()) as TestViewModel;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...