将参数传递给 XAML 中的用户控件

本文关键字:用户 控件 XAML 参数传递 | 更新日期: 2023-09-27 18:30:16

我正在使用Syncfusion的DockingManager和MVVM的适配器,因此可以绑定实现IDockElement的ViewModels列表。

我以这种方式使用它:

<dm:DockingAdapter Grid.Row="1" ItemsSource="{Binding DockingItems}" />

此外,我正在使用最新版本的 Catel 及其自定义控件。

DockingManager的 MVVM 适配器需要这些条目才能从视图模型创建视图:

<DataTemplate DataType="{x:Type local:EventEditorViewModel}">
    <Grid>
        <events:EventEditorControl/>
    </Grid>
</DataTemplate>

问题是,我的EventEditorControl在其构造函数中有一个参数,需要 ViewModel。

如何传递正确的视图模型?

将参数传递给 XAML 中的用户控件

不能使用 xaml 将参数传递给构造函数。

使参数成为依赖项属性:

<events:EventEditorControl MyParameterAsDependencyProperty="{Binding SomeProperty}"  />