Я создал прикрепленное поведение, которое используется для выполнения делегата типа Func < bool>
при вызове поведения. Ниже приведено определение свойства зависимости.
public static readonly DependencyProperty SendToDetailBehaviorProperty = DependencyProperty.RegisterAttached("SendToDetailBehavior", typeof(Func<bool>), typeof(ListDetailAspectSendToDetailBehavior), new UIPropertyMetadata(null, SendToDetail));
У меня оно работает, как и ожидалось, однако в моем XAML я получаю следующую ошибку, не позволяющую конструктору загрузиться.
Свойство SendToDetailBehavior было не найден или не сериализуем для type 'SortableListView'
Ниже вы найдете xaml.
<Controls:SortableListView Grid.Row="0"
Grid.Column="0"
Name="lvwLocations"
MinHeight="150"
MinWidth="{Binding Path=BusinessObject.Locations, ValidatesOnDataErrors=true, Converter={StaticResource AlwaysReturn1Converter}, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource SortableListViewStyle}"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
IsSynchronizedWithCurrentItem="True"
**behaviors:ListDetailAspectSendToDetailBehavior.SendToDetailBehavior="{Binding Path=LocationListDetail.SendFocusToDetail}"**
ItemsSource="{Binding Path=LocationListDetail.MasterList}"
SelectedItem="{Binding Path=LocationListDetail.DetailItem, Mode=TwoWay}"
MouseDoubleClick="lvwLocations_MouseDoubleClick">
Если я изменю базовый тип свойства Dependancy на bool
, например, ошибка исчезнет.
Как я уже сказал, прикрепленное поведение работает, взрывается только дизайнер. Я искал документацию по этому поводу и ничего не нашел. Я надеюсь, что кто-то из присутствующих может кое-что поделать.
Спасибо, BDN