Как передать параметр из параметра конструктора в конструктор viewmodel в WPF - PullRequest
0 голосов
/ 07 марта 2019
public partial class DenomDetailPage : Page
    {
        public DenomDetailPage(IEnumerable<TbTrans002> t)
        {
            InitializeComponent();
            this.DataContext = new DenomDetailViewModel(t);
        }
    }

Мой простой тестовый код находится сверху.Но я хочу установить текст данных в файле xaml.

<Page.DataContext>
    <viewModels:DenomDetailViewModel/>
</Page.DataContext>

в приведенном выше коде произошла ошибка.Как исправить мой код.

1 Ответ

0 голосов
/ 07 марта 2019

Это можно сделать в XAML2009 с помощью x:Arguments, но BAML не поддерживает функции XAML2009, поэтому в WPF вместо этого следует использовать ObjectDataProvider:

<Page.DataContext>
    <ObjectDataProvider d:IsDataSource="True" ObjectType="{x:Type viewmodel:YourClass}">
        <ObjectDataProvider.ConstructorParameters>
            <sys:String>Constructor parameter 1</sys:String>
            <sys:String>Constructor parameter 2</sys:String>
            <sys:Double>3</sys:Double>
            <sys:String>etc</sys:String>
        </ObjectDataProvider.ConstructorParameters>
    </ObjectDataProvider>
</Page.DataContext>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...