C# 如何在ComboBox中使用包含路径标记的自定义项模板(不会导致超出范围的异常)
我有一个带有以下数据模板的组合框:C# 如何在ComboBox中使用包含路径标记的自定义项模板(不会导致超出范围的异常),c#,.net,silverlight,data-binding,silverlight-2.0,C#,.net,Silverlight,Data Binding,Silverlight 2.0,我有一个带有以下数据模板的组合框: <DataTemplate x:Key="ComboBoxDataTemplate"> <StackPanel> <TextBlock Text="{Binding Path='Name'}"/> <Path Data="{Binding Path='PathGeometry'}" Width="64" Height="64" St
<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,10,0.50.5,0,1
(简单曲线)。当我在组合框中选择项目时,整个silverlight应用程序将变为白色。抛出一个异常“值超出范围”,由我处理,但之后它变为白色
为什么会抛出异常?如果我从Path标记中删除{Binding},并定义我自己的,它就可以正常工作。出于某种原因,这只是数据绑定。我还没有找到解决这个问题的“答案”,但我已经找到了解决方法。
如果将属性更改为使用同样有效的字符串(使用路径标记语法),而不是构建PathGeometry类型的属性