我的silverlight应用程序中有一个DataGrid,它有几列。几个基本列绑定没有问题。一列中有一个UserControl,XAML如下:
<data:DataGridTemplateColumn Header="" CanUserSort="True" Width="107">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<local:StaticPageEnlistment EnlistmentName="{Binding SiteName}" Width="400" Height="150"/>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
所以我有一个公共属性,它是一个名为EnlistmentName的字符串,我绑定到SiteName值。我在我的所有其他列中使用相同的“{Binding SiteName}”没有问题,为什么用户控件不能接受相同的绑定字符串?
答案 0 :(得分:0)
猜测你还没有将EnlistmentName
实现为DependencyProperty。你可以在你的StaticPageEnlistment UserControl中这样做: -
public string EnlistmentName
{
get { return GetValue(EnlistmentNameProperty) as string; }
set { SetValue(EnlistmentNameProperty, value); }
}
public static readonly DependencyProperty EnlistmentNameProperty =
DependencyProperty.Register(
"EnlistmentName",
typeof(string),
typeof(StaticPageEnlistment ),
new PropertyMetadata(null));
答案 1 :(得分:0)
EnlistmentName是DependencyProperty吗?根据{{3}},绑定的目标必须是DependencyProperty。