如何在组合框中使用包含Path标记的自定义项模板(不会导致超出范围的异常)
本文关键字:异常 范围 自定义 组合 Path 包含 | 更新日期: 2023-09-27 17:48:49
我有一个带有以下DataTemplate的组合框:
<DataTemplate x:Key="ComboBoxDataTemplate">
<StackPanel>
<TextBlock Text="{Binding Path='Name'}"/>
<Path Data="{Binding Path='PathGeometry'}" Width="64" Height="64" Stroke="Black" Stretch="Fill" StrokeThickness="1"/>
</StackPanel>
</DataTemplate>
PathGeometry类似于0,1 0,0.5 0.5,0 0,1
(一条简单的曲线)。当我在组合框中选择项目时,整个silverlight应用程序都会变白。抛出一个异常"值超出范围",我对此进行处理,但之后它变为白色。
为什么抛出异常?如果我从Path标记中删除{Binding},并定义自己的,它就可以正常工作。这只是出于某种原因的数据绑定。
我还没有找到这个问题的"答案",但我已经找到了解决办法。如果将属性更改为使用同样有效的字符串(使用路径标记语法),则不必构建PathGeometry类型的属性。