我已定义了一个自定义的附加属性,如下所示:
这里的目标是将cmds:DataFilter.FilterColumn继承的附加属性值绑定到FilterCol的VM属性。我不确定如何实现这一点。上面的代码/XAML只将附加属性的默认值(strng.Empty)设置为VM属性,这是因为它在子控件中创建了附加属性的新实例。我不确定要使用什么XAML语法来使其绑定到网格(父)控件中设置的值。
public class DataFilter
{
public static readonly DependencyProperty FilterColumnProperty =
DependencyProperty.RegisterAttached("FilterColumn", typeof (string), typeof (DataFilter),
new FrameworkPropertyMetadata(string.Empty,
FrameworkPropertyMetadataOptions.Inherits));
public static void SetFilterColumn(UIElement element, string value)
{
element.SetValue(FilterColumnProperty, value);
}
public static string GetFilterColumn(UIElement element)
{
return (string) element.GetValue(FilterColumnProperty);
}
我在我的XAML中使用它如下:
<Grid Height="600" Name="grdData" cmds:DataFilter.FilterColumn="datasource_id">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="25"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
</Grid.RowDefinitions>
<igDP:XamDataGrid Name="xamDataGrid1" VerticalAlignment="Top" DataSource="{Binding Tables[Table1]}" ActiveDataItem="{Binding SelectedItem, Mode=OneWayToSource}" cmds:DataFilter.FilterColumn="{Binding FilterCol, Mode=OneWayToSource">
这里的目标是将cmds:DataFilter.FilterColumn继承的附加属性值绑定到FilterCol的VM属性。我不确定如何实现这一点。上面的代码/XAML只将附加属性的默认值(strng.Empty)设置为VM属性,这是因为它在子控件中创建了附加属性的新实例。我不确定要使用什么XAML语法来使其绑定到网格(父)控件中设置的值。