Uwp 绑定数据模板';将datacontext属性转换为usercontrol依赖项属性

Uwp 绑定数据模板';将datacontext属性转换为usercontrol依赖项属性,uwp,uwp-xaml,Uwp,Uwp Xaml,在UWP应用程序中,我有一个带有datatemplate的Listview。ListView通过ItemsSource绑定到我的模型的ObservableCollection <ListView SelectionMode="None" ItemTemplate="{StaticResource MydataTemplate}" ItemsSource="{Binding Meals, Mode=OneWay}" 在ListView

在UWP应用程序中,我有一个带有datatemplate的Listview。ListView通过ItemsSource绑定到我的模型的ObservableCollection

<ListView SelectionMode="None"
              ItemTemplate="{StaticResource MydataTemplate}"
              ItemsSource="{Binding Meals, Mode=OneWay}"
在ListView数据模板中,我有一个用户控件(ListView的每个元素都有这个用户控件)。我想将当前进餐数量(quantity属性)绑定到用户控件的依赖项项目:

<DataTemplate x:Key="mydataTemplate">
    ...
    <ccontrol:MyUC Value="{Binding Quantity, Mode=TwoWay}" Grid.Column="2" />
    ...
</DataTemplate>
但在运行时,我有一个绑定表达式错误:

错误:BindingExpression路径错误:“Project.MyUC”上未找到“Quantity”属性

它在UserControl上搜索,但我想在DataTemplate数据上下文中搜索Quantity属性

我认识一个对我帮助不大的人

提前感谢,


不要像在
MyUC
构造函数中那样显式设置UserControl的
DataContext
。这样做可以防止从UserControl的父控件继承DataContext

public MyUC()
{
    this.InitializeComponent();
    // this.DataContext = this; // remove this line
}
活页夹

<ccontrol:MyUC Value="{Binding Quantity}" />
public MyUC()
{
    this.InitializeComponent();
    // this.DataContext = this; // remove this line
}
<ccontrol:MyUC Value="{Binding Quantity}" />
<UserControl ... x:Name="self">
   ...
   <TextBlock Text="{Binding Value, ElementName=self}" />
   ...
</UserControl>