我正在尝试通过XAML将一个依赖属性绑定到我的自定义WPF控件上。
这是我注册依赖属性的方式:
public static readonly DependencyProperty AltNamesProperty =
DependencyProperty.Register ("AltNames", typeof(string), typeof(DefectImages));
public string AltNames
{
get { return (string) GetValue(AltNamesProperty); }
set { SetValue(AltNamesProperty, value); }
}
以下是我在 XAML 中如何调用它:
<DataGrid.Columns>
<DataGridTemplateColumn IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Name="StackPanel1" Grid.Column="0" Width="950">
<TextBlock FontSize="16" TextDecorations="None" Text="{BindingPath=StandardName}" Foreground="Black" FontWeight="Bold" Padding="5,10,0,0"></TextBlock>
<TextBlock Text="{Binding Path=AltNames}"TextWrapping="WrapWithOverflow" Padding="5,0,0,10"></TextBlock>
<!-- this part should be magic!! -->
<controls:DefectImages AltNames="{Binding Path=AltNames}"></controls:DefectImages>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
我知道我尝试绑定的 AltNames
属性是有效的,因为我可以在文本块中正常显示它。我是否注册依赖属性不正确?
我需要做什么才能在我的代码后台中正确地分配值给 AltNames
?
AltNames="{Binding Path=AltNames, Mode=TwoWay}"
吗?在运行时的输出窗口中有没有绑定错误? - nemesv