gpt4 book ai didi

wpf - 类型委托(delegate)的 DependencyProperty

转载 作者:行者123 更新时间:2023-12-04 15:27:29 26 4
gpt4 key购买 nike

我创建了一个附加行为,用于执行 Func<bool> 类型的委托(delegate)当行为被调用时。下面是依赖属性定义。

public static readonly DependencyProperty SendToDetailBehaviorProperty = DependencyProperty.RegisterAttached("SendToDetailBehavior", typeof(Func<bool>), typeof(ListDetailAspectSendToDetailBehavior), new UIPropertyMetadata(null, SendToDetail));

我让它按预期工作,但是在我的 XAML 中我收到以下错误,阻止设计器加载。

Property 'SendToDetailBehavior' was not found or is not serializable for 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">

如果我将依赖属性的基础类型更改为 bool例如,错误消失了。

正如我所说的附加行为是有效的,只有设计师会爆炸。我一直在寻找这方面的文档,但结果却是空的。我希望这里有人有一些见识。

谢谢,
宽带网络

最佳答案

不使用委托(delegate),而是将您的依赖属性类型更改为 Command(我使用了 DelegateCommand),这会将委托(delegate)包装在其中。我遇到了和你一样的问题,但是用这个方法解决了。

关于wpf - 类型委托(delegate)的 DependencyProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com