如何在组合框中使用包含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},并定义自己的,它就可以正常工作。这只是出于某种原因的数据绑定。

如何在组合框中使用包含Path标记的自定义项模板(不会导致超出范围的异常)

我还没有找到这个问题的"答案",但我已经找到了解决办法。如果将属性更改为使用同样有效的字符串(使用路径标记语法),则不必构建PathGeometry类型的属性。