我不确定如何从父级设置子控件的viewmodel属性。下面我试图访问IntValue,但我收到一个错误,说它在用户控件中不存在。那是因为它存在于与用户控件绑定的viewmodel中。
ChildViewModel.cs
public class ChildViewModel : ViewModelBase
{
public ChildModel Model { get; private set; }
public int IntValue
{
get
{
return Model.IntValue;
}
set
{
Model.IntValue = value;
OnPropertyChanged();
}
}
public ChildViewModel()
{
Model = new ChildModel();
}
}
ParentControl.xaml
<UserControl
x:Class="EmbeddedControls.ParentControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:EmbeddedControls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Grid>
<local:ChildControl IntValue="4">
</Grid>
</UserControl>
所以我想在这里做的是在xaml中创建控件时更新IntValue内联。有没有办法做到这一点?提前谢谢。